zoukankan      html  css  js  c++  java
  • Druid连接池的简单使用

    第一步:导入两个jar包

    第二步:创建一个properties文件

    第三步:在properties文件中添加配置:连接驱动、数据库名字、数据库用户名和密码等

    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql:///ManageSys?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username=root password=admin123 initialSize=5 maxActive=10 maxWait=3000 maxIdle=6 minIdle=3

      

    第四步:创建连接池对象

    import com.alibaba.druid.pool.DruidDataSource;
    import com.alibaba.druid.pool.DruidDataSourceFactory;
    
    import javax.sql.DataSource;
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    public class JdbcUtil {
    
        //    创建数据源对象
        private static DataSource dataSource;
    
        static {
    
    //        新建一个配置文件对象
            Properties properties = new Properties();
    
    //        通过类加载器找到文件路径,读配置文件
            InputStream inputStream = JdbcUtil.class.getResourceAsStream("/d.properties");
    
    //        加载属性文件
            try {
                properties.load(inputStream);
    
    //            创建连接池对象
                dataSource = DruidDataSourceFactory.createDataSource(properties);
    
    
            } catch (IOException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
    
        }
    
    
        /*
        * 从连接池中获取连接
        * */
        public static Connection getConnect(){
            Connection con = null;
    
            try {
                con = dataSource.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
    
            return con;
        }
    
    
    
        /*
        * 关闭资源
        * */
        public static void close(Connection connection, Statement statement, ResultSet resultSet){
    
            if(connection!=null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if(statement!=null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if(resultSet!=null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
    
    
        }
    
    
    
    
    }
    

      

    最后测试一下效果:

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.SQLException;
    
    public class Main {
    
        public static void main(String[] args) {
    
            Connection connection = JdbcUtil.getConnect();
    
            try {
                DatabaseMetaData databaseMetaData = connection.getMetaData();
                System.out.println(databaseMetaData.getURL() + ","
                        + databaseMetaData.getUserName() + ","
                        + databaseMetaData.getDriverName());
            } catch (SQLException e) {
                e.printStackTrace();
            }
    
    
        }
    }
    

      

  • 相关阅读:
    multiprocessing 多进程实现 生产者与消费者模型JoinableQueue
    条件锁condition与Queue()
    threading 官方 线程对象和锁对象以及条件对象condition
    【NOIp训练】—子串查找VII(AC自动机+树链剖分+线段树)
    【NOIp训练】—子串查找VII(AC自动机+树链剖分+线段树)
    【HDU 5628】—Clarke and math(狄利克雷卷积快速幂)
    【HDU 5628】—Clarke and math(狄利克雷卷积快速幂)
    【NOIp2019模拟】题解
    【NOIp2019模拟】题解
    【NOIp2019模拟】题解
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/11848187.html
Copyright © 2011-2022 走看看