美文网首页
使用java读取properties连接数据库

使用java读取properties连接数据库

作者: 白云的离殇 | 来源:发表于2019-05-03 14:59 被阅读0次

    将数据库的驱动、url、用户名、密码等信息以键值对的形式存放在properties文件中,工具类初始化时从配置文件中读取所要连接数据库的信息。当需要更改连接的数据库时,只需要更改配置文件即可,而不必改写工具类的代码。

    1.在项目中创建一个properties文件,properties文件中的配置文件为,此处为mysql

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/TestDB?useUnicode=true&characterEncoding=utf8&useSSL=false
    jdbc.username=root
    jdbc.password=123456
    

    2.新建一个数据库DBUtil工具类

    package com.sdl.dbutil;
    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;
    /*
     * 通过读取Properties连接数据库
     */
    public class DBUtil {
        private static String driver;
        private static String url;
        private static String username;
        private static String password;
        /**
         * 静态代码块加载配置文件信息
         */
        static {
            try {
                // 1.通过当前类获取类加载器
                ClassLoader classLoader = DBUtil.class.getClassLoader();
                // 2.通过类加载器的方法获得一个输入流
                InputStream in = classLoader.getResourceAsStream("jdbc.properties");
                // 3.创建一个properties对象(集合)
                Properties props = new Properties();
                // 4.加载输入流
                props.load(in);
                // 5.获取相关参数的值
                driver = props.getProperty("jdbc.driver");
                url = props.getProperty("jdbc.url");
                username = props.getProperty("jdbc.username");
                password = props.getProperty("jdbc.password");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        
        //注册并获取数据库连接
            public static Connection getConnection() throws Exception{
                //1.注册驱动
                Class.forName(driver);
                //2.获取数据库连接
                Connection coon =  DriverManager.getConnection(url, username, password);
                return coon;
            }
            
                /**
         * 释放数据库资源
         * @param rs
         * @param st
         * @param co
         */
        public static void relase(ResultSet rs, Statement st, Connection co) {
            try {
                if(rs != null) {
                    rs.close();
                }
                if(st != null) {
                    st.close();
                }
                if(co != null) {
                    co.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }               
    }
    

    4.测试一下,新建一个测试类DBUtilTest

    package com.sdl.dbutil;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    public class DBUtilTest{
        
        public static void main(String[] args) throws Exception{        
            Connection coon = DBUtil.getConnection();
            //2.书写SQL语句
            String sql = "select * from user";
            //3.获取SQL语句预编译对象
            PreparedStatement ps = coon.prepareStatement(sql);
            //4.执行SQL语句
            ResultSet rs = ps.executeQuery();
            //5.处理结果集
            while(rs.next()){
                System.out.println(rs.getInt("uid")+"  "+rs.getString("username"));
            }
            //6.释放资源
            DBUtil.relase(rs, ps, coon);
            
        }   
    }
    

    5.测试结果

    运行结果

    相关文章

      网友评论

          本文标题:使用java读取properties连接数据库

          本文链接:https://www.haomeiwen.com/subject/qfrrwqtx.html