JDBC-通过配置文件properties-获取数据库链接Connection

一、创建一个util模块:如图

  • 需要注意的是:dbconf.properties  属性配置文件和 工具类util 相关组件写到一起,不然会引起空指针异常

二、JDBCUtil工具类

jdbc_url=jdbc:mysql://localhost:3306
jdbc_driver=com.mysql.jdbc.Driver
jdbc_user=root
jdbc_password=root

三、创建Env组件获取配置文件信息

/**
*属性配置文件的读取
*
*/
package com.xzit.platfrom.util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class Env extends Properties {
    //获取jdbc驱动
    public static String driver;
    //获取jdbc解析地址
    public static String url;
    //获取用户名
    public static String user;
    //获取密码
    public static String password;

    static {
        
        InputStream resourceAsStream = Env.class.
                getResourceAsStream("dbconf.properties");
        try {

            //获取配置文件
            Properties properties = new Properties();
            properties.load(resourceAsStream);
            url = properties.getProperty("jdbc_url");
            driver = properties.getProperty("jdbc_driver");
            user = properties.getProperty("jdbc_user");
            password = properties.getProperty("jdbc_password");
            System.out.println("数据库驱动:"+driver);
            System.out.println("数据库url:"+url);
            System.out.println("数据库用户名:"+user);
            System.out.println("数据库密码:"+password);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

四、写一个数据库管理类

package com.xzit.platfrom.util;

import java.sql.*;

/**
 * JDBC工具类简化JDBC编程
 * */
public class DataSourceManager {
    /*私有化工具类方法*/
    private DataSourceManager (){}

    /**
     * 获取数据库连接对象
     * @return 数据库链接对象
     * @throws SQLException
     * */
    public static Connection getConnection () throws Exception {
        return DriverManager.getConnection(Env.url,Env.user,Env.password);
    }

    /**
     * 关闭资源
     * @param conn
     */
    public static  void close(Connection conn){
        try {
            if(conn !=null){
                conn.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 关闭资源
     * @param state
     */
    public static void close( Statement state ){
        try {
            if(state !=null ){
                state.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 关闭结果集
     * @param set
     */
    public static void close( ResultSet set ){
        try {
            if(set  !=null ){
                set .close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

五、测试运行数据库连接结果

package com.xzit.platfrom.util;


import static com.xzit.platfrom.util.DataSourceManager.getConnection;

public class Test {
    public static void main ( String[] args ) throws Exception {
        System.out.println(getConnection());
    }
}

 

posted @ 2022-04-13 00:55  280887072  阅读(276)  评论(0编辑  收藏  举报