Idea+Maven+DBCP

使用Idea编辑器通过Maven项目来写一个简单的DBCP数据库连接池

因为用到了连接池的工具包 所以记录一下 以便有人需要用到

  1. 创建Maven项目(不做详细解释了)
  2. 在pom文件中添加依赖 (添加数据库的依赖是因为我这里测试用到了数据库)
    <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>8.0.22</version>
     </dependency>
     <dependency>
         <groupId>commons-dbcp</groupId>
         <artifactId>commons-dbcp</artifactId>
         <version>1.4</version>
     </dependency>
     <dependency>
         <groupId>commons-pool</groupId>
         <artifactId>commons-pool</artifactId>
         <version>1.6</version>
     </dependency>
    
  3. 我这里使用的是通过配置文件来获取配置信息的方式!,所以在这里先编写dbcp.propertites
     driverClassName=com.mysql.cj.jdbc.Driver
     url=jdbc:mysql://127.0.0.1:3306/text1?serverTimezone=Asia/Shanghai
     username=root
     password=***(写你自己的数据库的密码 注意:没有密码的话不填!,而不是写一个null)
    
  4. 编写DBCPUtil工具类

     import org.apache.commons.dbcp.BasicDataSourceFactory;
    
     import javax.sql.DataSource;
     import java.io.FileInputStream;
     import java.io.FileNotFoundException;
     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 DBCPUtil {
         public static DataSource ds = null;
    
         static {
             try {
                 //加载配置文件
                 Properties pro = new Properties();
                 InputStream inputStream = null;
                 //方式一
                 //inputStream = new FileInputStream("resources/jdbc.properties");
                 //方式二
                 inputStream = DBCPUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
                 pro.load(inputStream);
                 ds = BasicDataSourceFactory.createDataSource(pro);
             } catch (FileNotFoundException e) {
                 e.printStackTrace();
             } catch (IOException e) {
                 e.printStackTrace();
             }catch (Exception e) {
                 e.printStackTrace();
             }
         }
    
         public static Connection getConnection() {
             try {
                 return ds.getConnection();
             }
             catch (SQLException e){
                 e.printStackTrace() ;
             }
             return null;
         }
    
         public static void close(Statement st, Connection conn, ResultSet rs){
             if (st!=null){
                 try {
                     st.close();
                 } catch (SQLException e) {
                     e.printStackTrace();
                 }
             }
             if (conn!=null){
                 try {
                     conn.close();
                 } catch (SQLException e) {
                     e.printStackTrace();
                 }
             }
             if (rs!=null){
                 try {
                     rs.close();
                 } catch (SQLException e) {
                     e.printStackTrace();
                 }
             }
         }
     }   
    
  5. 编写DBCPPropertiesDemo类来测试一下
     import com.buba.util.DBCPUtil;
    
     import java.sql.Connection;
     import java.sql.ResultSet;
     import java.sql.SQLException;
     import java.sql.Statement;
    
     public class DBCPPropertiesDemo {
         public static void main(String[] args) {
             Connection connection =null;
             Statement statement = null;
             ResultSet resultSet = null;
             connection = DBCPUtil.getConnection();//通过读取properties文件的形式得到的连接
             try {
                 statement = connection.createStatement();
                 String sql = "select * from login";
                 resultSet = statement.executeQuery(sql);
                 while(resultSet.next()){
                     System.out.println("username"+resultSet.getString("username"));
                 }
             } catch (SQLException e) {
                 e.printStackTrace();
             }finally {
                 DBCPUtil.close(statement,connection,resultSet);
             }
         }
     }   
    
  6. 启动main方法测试
    在这里插入图片描述
最后我再附上一张项目结构图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值