暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

反射+IO+Properties实现数据库连接

陌淮缘 2016-11-11
164

1.配置文件:dbInfo.properties

    driver= com.microsoft.sqlserver.jdbc.SQLServerDriver

    url= jdbc:sqlserver://localhost:1433;DatabaseName=epet

    user=sa

    password=sa

    将配置文件dbInfo.properties放在项目src目录下

2.配置文件管理工具类:ConfigManager

    package com.kawa.db.util;

    import java.io.IOException;

    import java.io.InputStream;

    import java.util.Properties;

//读取配置文件(属性文件)的工具类

public class ConfigManager {

    private static ConfigManager configManager;

    private static Properties properties; 

    private ConfigManager(){

        String configFile="dbInfo.properties";     //属性文件名称

        properties=new Properties();                  //创建属性集对象

        //以流的形式将属性文件读入

        InputStream in=ConfigManager.class.getClassLoader().getResourceAsStream(configFile);

        try {

            properties.load(in);  //读取属性文件

        } catch (IOException e) {

            e.printStackTrace();

        }finally{

            try {

                in.close();  //关闭流

            } catch (IOException e) {

                e.printStackTrace();

            }  

        }

    }

    /**

     * 获取本类(ConfigManager)对象

     * @return

     */

    public static ConfigManager getInstance(){

        if(configManager==null){

            configManager=new ConfigManager();

        }

        return configManager;

    }

    /**

     * 根据键获取属性列表中的属性值

     * @param key

     * @return 值

     */

    public String getString(String key){

        return properties.getProperty(key); 

    }

}


3.数据库连接工具类:ConnManager

   package com.kawa.db.util;

    import java.sql.*;

    public class ConnManager {

    private  Connection conn;// 连接对象

    public static void main(String[] args) {

        System.out.println(new ConnManager().getConn());

    }

    public Connection getConn() {

        /*获取数据库连接信息*/

        String driver=ConfigManager.getInstance().getString("driver");

        String url=ConfigManager.getInstance().getString("url");

        String username=ConfigManager.getInstance().getString("user");

        String password=ConfigManager.getInstance().getString("password");

        try {

            // 如果连接对象不存在或已经关闭,则创建一个新的连接对象返回,否则返回当前存在的连接对象

            if (this.conn == null || this.conn.isClosed()) {

                // 加载驱动类

                Class.forName(driver);

                // 获取连接对象

                this.conn = DriverManager.getConnection(url,username, password);

            }

            return this.conn;

        } catch (SQLException e) {

            e.printStackTrace();

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

        return conn;

    }

}


文章转载自陌淮缘,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论