欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Idea+Maven+DBCP

程序员文章站 2022-06-28 17:43:04
使用Idea编辑器通过Maven项目来写一个简单的DBCP数据库连接池因为用到了连接池的工具包 所以记录一下 以便有人需要用到创建Maven项目(不做详细解释了)在pom文件中添加依赖 (添加数据库的依赖是因为我这里测试用到了数据库) mysql mysql-connector-java

使用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方法测试
    Idea+Maven+DBCP

最后我再附上一张项目结构图:

Idea+Maven+DBCP

本文地址:https://blog.csdn.net/ShawnAndLove/article/details/112028195