zoukankan      html  css  js  c++  java
  • JDBC工具类与数据库建立连接

    1.daoConfig.properties

    userDaoClass=cn.itcast.jdbc.dao.impl.UserDaoJdbcImpl
    #userDaoClass=cn.itcast.jdbc.dao.impl.UserDaoHibernateImpl

    -----------------------------------------------------------------------------------------------------------

    public final class JdbcUtils {
     private static DataSource myDataSource = null;

     private JdbcUtils() {}

     static {
      try {
       // 注册驱动
       Class.forName("com.mysql.jdbc.Driver");// 推荐
       // DriverManager.registerDriver(new com.mysql.jdbc.Driver());//2
       // System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver[:...:...]");//注册方式3可以注册多个驱动用“:”分隔。
       Properties prop = new Properties();
       // 读取配置文件
       InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
       prop.load(is);
       myDataSource = BasicDataSourceFactory.createDataSource(prop);
      } catch (Exception e) {
       throw new ExceptionInInitializerError(e);
      }
     }

     public static Connection getConnection() throws SQLException {

      return myDataSource.getConnection();
     }

     public static void free(ResultSet rs, Statement st, Connection conn) {
      try {
       if (rs != null)
        rs.close();
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       try {
        if (st != null)
         st.close();
       } catch (SQLException e) {
        e.printStackTrace();
       } finally {
        try {
         if (conn != null)
          conn.close();
         // myDataSource.free(conn);
        } catch (Exception e) {
         e.printStackTrace();
        }
       }
      }
     }
    }

    -----------------------------------------------------------------------------------------------

    使用单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    public final class JdbcUtilsSing {
     private String url="jdbc:mysql://localhost:3306/jdbc";
     private String user="root";
     private String password="064417";
     private static JdbcUtilsSing instance=null;
    // private static JdbcUtilsSing instance=new JdbcUtilsSing();
     private JdbcUtilsSing(){
      
     }
     public static JdbcUtilsSing getInstance(){
      if(instance==null){
       synchronized(JdbcUtilsSing.class){
        if(instance==null){
         instance=new JdbcUtilsSing();
        }
       }
      }
      return instance;
     }
     static{
      try {
    //   注册驱动
       Class.forName("com.mysql.jdbc.Driver");//推荐
    //   DriverManager.registerDriver(new com.mysql.jdbc.Driver());//2
    //   System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver[:...:...]");//注册方式3可以注册多个驱动用“:”分隔。
      } catch (ClassNotFoundException e) {
       throw new ExceptionInInitializerError(e);
      }
     }
     public Connection getConnection() throws SQLException{
      return DriverManager.getConnection(url, user, password);
     }
     public void free(ResultSet rs,Statement st,Connection conn){
      try {
       if(rs!=null)
        rs.close();
      } catch (SQLException e) {
       e.printStackTrace();
      }finally{
       try {
        if(st!=null)
        st.close();
       } catch (SQLException e) {
        e.printStackTrace();
       }finally{
        try {
         if(conn!=null)
         conn.close();
        } catch (SQLException e) {
         e.printStackTrace();
        }
       }
      }
     }
    }

  • 相关阅读:
    FlexBuilder2组件学习之Tree组件
    ASP.Net数据验证中的验证组
    私のスピーチ
    ASP调用ORACLE的存储过程
    将Excel数据导入到Sql Server "当IDENTITY_INSERT设置为OFF时" 的解决
    Android中如何使用命令行查看内嵌数据库SQLite3
    20110406新工作的开始
    (转)如何在Eclipse中查看JDK类库的源代码
    Sql Server存储过程中加入Try Catch,并向客户端返回友好信息
    解决 Access 磁盘空间或内存不足一例
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2291406.html
Copyright © 2011-2022 走看看