配置jdbc.properties 以及 ConfigManager应用

配置jdbc.properties
java.driveClass=com.mysql.jdbc.Driver
jdbc.connection.url=jdbc:mysql://127.0.0.1:3306/MySQL(数据库名)
jdbc.connection.username=root
jdbc.connection.password=Admin

 

读取配置文件:
使用Properties对象的load()方法来实现配置文件的读取,使用流来实现文件读写的操作。

创建一个工具类: ConfigManager 避免重复编写读取配置文件 

       //工具类--单列模式
      public class ConfigManager {
        //读取配置文件(属性文件)的工具类
         private static ConfigManager configManager;
         private static Properties properties;
        //这里必须为private,避免外部new一个ConfigManager对象
        private ConfigManager(){
          String configFil="database.propertise";
          properties=new Properties();

           //getClassLoader()返回类加载器  

           //getResourceAsStream(configFil)返回InputStream对象
          InputStream inputStream=ConfigManager.class.getClassLoader().getResourceAsStream(configFil);
           try {
             properties.load(inputStream);
             inputStream.close();
           } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
         }
        //通过单列模式设置实例化的个数

        //对外开放的接口
         public static ConfigManager getInstance(){
           if (configManager==null) {
             configManager=new ConfigManager();
             return configManager;
          }
           return configManager;
         }

        //通过key获取对应的value值
         public String getString(String key){
           return properties.getProperty(key);
         }
      }

 

BaseDao使用工具类的方法:

    //获取数据库连接
    public boolean getConnection(){
       //读出配置信息
       String driver=ConfigManager.getInstance().getString("jdbc.driver_class");
      String url=ConfigManager.getInstance().getString("jdbc.connection.url");
       String username=ConfigManager.getInstance().getString("jdbc.connection.username");
       String password=ConfigManager.getInstance().getString("jdbc.connection.password");

       try {
        // 加载JDBC驱动
         Class.forName(driver);
         connection=DriverManager.getConnection(url, username, password);
       } catch (ClassNotFoundException e) {
         // TODO Auto-generated catch block
           e.printStackTrace();
           return false;
      } catch (SQLException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
        return false;
       }
         return true;
    }

posted @ 2017-08-12 13:40  盛夏光年2017  阅读(199)  评论(0编辑  收藏  举报