读取*.properties文件连接数据库

需求:系统A 需要为 系统B数据库插入数据。

应用场景:《核心系统》中计算出有关薪资的数据,为《财务系统》发送凭证。

实现过程:

  1. 新建 db.properties文件,编写数据库配置文件:

    driver=oracle.jdbc.driver.OracleDriver
    url=*********************
    username=******
    password=******
  2. 读取该文件,连接数据库:(通过ClassLoader 读取):
    package cn.com.cis.acic.util;
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    /**
     * 定义一个工具类,负责连接数据库及其关闭数据资源
     */
    public class DBUtil {
    
        private static final String LOCATION="dbOracle.properties";
        private static Properties props=new Properties();
        static{
    
            ClassLoader loader=DBUtil.class.getClassLoader();
            InputStream is=loader.getResourceAsStream(LOCATION);
            try {
                props.load(is);
            } catch (IOException e) {
                System.out.println("填充Properties对象失败!");
                e.printStackTrace();
            }
        }
    
        private DBUtil(){}
    
        public static Connection getConnection(){
    
            String driver=props.getProperty("driver");
            String url=props.getProperty("url");
            String username=props.getProperty("username");
            String password=props.getProperty("password");
    
            try {
                Class.forName(driver);
            } catch (ClassNotFoundException e) {
                System.out.println("数据库驱动类加载失败!");
                e.printStackTrace();
            }
    
            Connection conn=null;
            try {
                conn=DriverManager.getConnection(url, username, password);
            } catch (SQLException e) {
                System.out.println("连接数据库失败!");
                e.printStackTrace();
            }
            return conn;
        }
    
        public static void close(ResultSet rs,Statement stmt, Connection conn){
    
            if(rs!=null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    System.out.println("关闭结果集对象失败!");
                    e.printStackTrace();
                }
            }
            if(stmt!=null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    System.out.println("关闭语句对象失败!");
                    e.printStackTrace();
                }
            }
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    System.out.println("关闭连接对象失败!");
                    e.printStackTrace();
                }
            }
        }
    
        public static void close(ResultSet rs, Statement stmt){
            close(rs,stmt,null);
        }
        public static void close(Statement stmt, Connection conn){
            close(null,stmt,conn);
        }
        public static void close(Connection conn){
            close(null,null,conn);
        }
    }

    也可以直接读取,如:

                //读取数据库链接:
                InputStream in = FeeManageServiceSpringImpl.class.getResourceAsStream("/accountjdbc.properties");//文件名称
                InputStream in = new BufferedInputStream(new
                FileInputStream("D:\\tomcat-7\\webapps\\sales\\WEB-INF\\classes\\accountjdbc.proerties"));//详细地址
                Properties p = new Properties();
                p.load(in);
                String className2 = p.getProperty("DRIVER");
                String url = p.getProperty("URL");
                String user = p.getProperty("USER");
                String password = p.getProperty("PASSWORD");
                Class.forName(className2);
时间: 2024-08-03 14:17:07

读取*.properties文件连接数据库的相关文章

从读取properties文件说开去,浅谈web容器中类加载器

今天刚好有人让我写个通过读取properties连接数据库的小demo. 汗啊,普通项目中可以使用的文件读取,在web项目中总报空指针异常. 查阅了资料明白,赶紧记录下来,希望遇到此类问题的童鞋能引起重视. 废话不说,直接进入主题! 代码清单1: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.io.InputStream; import java.util.Properties; import org.apache.log4

五种方式让你在java中读取properties文件内容不再是难题

一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

在JSP页面中读取properties文件

在做web开发时,经常遇到要修改一下配置信息.如果把这些配置信息写在代码中,后期的维护便会比较麻烦.所以,一般都是把配置信息写在配置文件里面. 在JSP文件中,如果想要调用properties文件中的变量,则要在有文件中引入 java.util.ResourceBundle 类: <%@ page contentType="text/html; charset=UTF-8" import="java.util.ResourceBundle" %> 已知配

Java读取Properties文件的六种方法

使用J2SE API读取Properties文件的六种方法 1.使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name)); Properties p = new Properties(); p.load(in); 2.使用java.util.ResourceBundle类的getBundle()方法 示例: ResourceBundle rb

转载:java基础学习总结——java读取properties文件总结

java基础学习总结--java读取properties文件总结 一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路径的写法,测试项目如下: 1.1.项目的

Java读取.properties文件

例1: 创建一个config文件夹 config文件夹中有一个Properties.properties文件 内容为: capitalLetter=ABCDE smallLetter=abcde 注意:config文件夹与包含Test类的包为同一级 import java.io.IOException; import java.util.Properties; public class Test { public static void main(String[] args) { Propert

java读取.properties文件及解决中文乱码问题

Java项目中有些信息(例如web的配置信息)可能要放在.properties文件中,那我们应该怎么来读取它们呢,下面给出一个工具类做一说明,并解决了中文乱码问题: 1.其中config.properties文件信息如下: name=\u843D\u82B1\u6709\u610Fwang王 str=\u6D41\u6C34\u65E0\u60C5 boolean=true 2.PropertiesUtil工具类读取.properties文件 import java.io.BufferedInp

用java读取properties文件--转

今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享.     下面直接贴出代码:java类 public class Mytest public static void readFile(String fileName) {//传入参数fileName是要读取的资源文件的文件名如(file.properties) InputStream in = null; Properties pros = new Properties(); tr

Java实现动态加载读取properties文件

问题: 当我们使用如下语句加载.properties时: ClassLoader classLoader = this.getClass().getClassLoader(); Properties prop = new Properties(); prop.load(classLoader.getResourceAsStream("/Application.properties")); 会发现修改了.properties后,即使重新执行,读入的仍为修改前的参数.此问题的原因在于Cla