zoukankan      html  css  js  c++  java
  • 自己写的JdbcUtils小工具-----得到Connection对象

    Properties文件中存放键值对------(可看对Properties文件的解析)

    static代码块是在构造函数之前执行的,而且只执行一次,即类首次加载时。

    也就是只加载一次配置文件和加载数据库驱动

    下面的getConnection()方法调用一次返回一个Connection对象

    得到不相同的对象

     1 //v1.0
     2 public class JdbcUtils {
     3     //私有的 静态对象
     4     //类中的任何成员函数都可以访问静态变量           但是静态成员函数不能直接访问非静态成员,只能通过该类的
     5     //对象名访问该对象的非静态成员。这是因为静态成员函数属于整个类的,没有特指向某个对象的this指针
     6     private static Properties props=null;
     7     static{
     8         //给props进行初始化,即加载dbconfig.properties文件到props对象中
     9         
    10         //加载配置文件                    取得该class对象类的类装载器
    11         //返回 用于读取指定资源的 输入流
    12         InputStream in=JdbcUtils.class.getClassLoader()
    13                 .getResourceAsStream("dbconfig.properties");
    14         props=new Properties();
    15         
    16         try {
    17             //从输入字节流读取属性列表(键和元素对)
    18             props.load(in);
    19         } catch (IOException e) {
    20             // TODO Auto-generated catch block
    21             e.printStackTrace();
    22         }
    23         ////
    24         try {
    25             //                    使用此属性列表中指定的键搜索属性----key:driverClassName搜索它的属性
    26             //这一步相当于加载驱动
    27             Class.forName(props.getProperty("driverClassName"));
    28         } catch (ClassNotFoundException e) {
    29             // TODO Auto-generated catch block
    30             e.printStackTrace();
    31         }
    32     }
    33 
    34     public static Connection getConnection() throws SQLException{
    35         
    36         /*
    37          * 1加载配置文件
    38          * 2加载驱动类
    39          * 3调用DriverManager
    40          * */
    41         //已经加载完驱动后,然后得到连接                    三大参数,,,通过properties对象的getProperty("指定的键")得到值
    42         return DriverManager.getConnection(props.getProperty("url"), 
    43                 props.getProperty("username"), props.getProperty("password"));
    44     }
    45 }

    测试,生成Connection对象

    1 //测试JdbcUtils.getconnection()
    2     @Test
    3     public void fun3() throws SQLException{
    4         Connection con=JdbcUtils.getConnection();
    5         System.out.println(con);
    6         Connection con1=JdbcUtils.getConnection();
    7         System.out.println(con1);
    8     }

    结果:

    com.mysql.jdbc.JDBC4Connection@6a02938d
    com.mysql.jdbc.JDBC4Connection@78a6edb5

    Properties文件

  • 相关阅读:
    php apc 安装
    apaache php 日记设计
    memcache windows64 位安装
    JavaScript的作用域与闭包
    怎样写一个简单的操作系统?
    php 关于锁的一些看法
    Windows版本Apache+php的Xhprof应用__[2]
    Windows版本Apache+php的Xhprof应用
    使用TortoiseGit对Git版本进行分支操作
    机器学习数据不均衡问题
  • 原文地址:https://www.cnblogs.com/xjs1874704478/p/10713398.html
Copyright © 2011-2022 走看看