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 @   280887072  阅读(282)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示