zoukankan      html  css  js  c++  java
  • DBUtils

    1、使用类的加载器来加载database.properties文件流。

    2、读取配置文件,获取连接,只执行一次,static{ }

    3、JDBCUtils封装类

    package cn.itcast.jdbcutils;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Properties;
    
    public class JDBCUtils {
        
        public static Connection con;
        private static String driverClass;
        private static String url;
        private static String username;
        private static String password;
        public JDBCUtils(){};
        
        //定义静态方法,返回数据库的连接对象
        static{
            try{
                readConfig();
                // 1注册驱动
                Class.forName(driverClass);
                
                con = DriverManager.getConnection(url, username, password);
            }catch(Exception ex){
                throw new RuntimeException(ex+" 数据库连接失败!");
            }
        }
        
        //获取连接
        public static Connection getConnection(){
            return con;
        }
        
        private static void readConfig() throws IOException{
            // 2、获取配置文件流,读取文件信息,获取连接
            //使用类的加载器加载database文件
            InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("database.properties");
            Properties pro = new Properties();
            pro.load(in);
            //System.out.println(pro);
            //获取集合中的键值对
            String driverClass = pro.getProperty("driverClass");
            String url = pro.getProperty("url");
            String username = pro.getProperty("username");
            String password = pro.getProperty("password");
        }
        
        
        public static void close(Connection con,ResultSet rs,PreparedStatement ps){
            if(rs != null){
                try{
                    rs.close();                
                }catch(SQLException ex){}
                
            }
            if(ps != null){
                try{
                    ps.close();                
                }catch(SQLException ex){}
                
            }
            if(con != null){
                try{
                    con.close();                
                }catch(SQLException ex){}
                
            }
        }
        
        public static void close(Connection con,PreparedStatement ps){
            
            if(ps != null){
                try{
                    ps.close();                
                }catch(SQLException ex){}
                
            }
            if(con != null){
                try{
                    con.close();                
                }catch(SQLException ex){}
                
            }
        }
    
    }
  • 相关阅读:
    Webpack的学习总结(1)
    mybatis-plus逻辑删除
    vscode编译调试C/C++多文件——linux(makefile)
    vscode配置调试C/C++程序——linux环境(命令行编译)
    shell编程题(二十二)
    shell编程题(二十三)
    shell编程题(二十一)
    shell编程题(二十)
    GTK开发视频播放器
    C语言实现LRU缓存(二)
  • 原文地址:https://www.cnblogs.com/ivan5277/p/10089853.html
Copyright © 2011-2022 走看看