使用Druid连接池查询表中数据

Druid连接池使用步骤

步骤:

导入druid相应的jar包 2. 定义配置文件 3. 创建数据库连接池对象 4. 获取数据库连接对象 5. 创建sql语句 6. 创建执行sql对象 7. 创建一个ResultSet结果集对象 8. 然后在用ResultSet里的方法 next()判断数据 9. 输入结果 10. 释放资源

1. jar包

Druid-1.0.9.jar:是Druid包 mysql-connection-java-5.1.48-bin.jar是:JDBC包 注意:两个包都要导入进去

2. 配置文件

到配置文件里面修改成你们的数据库地址、用户名和密码
package Druid;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;

/**
 * Druid 德鲁伊连接池
 *  用连接池查询user表中的数据
 */
public class JdbcDruidDemo {
          
   
    public static void main(String[] args) {
          
   
        //将这些弄到大括号外面提升作用域,好释放资源
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
          
   
            //1. 导入druid相应的jar包
            //2. 定义配置文件
                //2.1 定义一个io流集合
            Properties pro = new Properties();
                //2.2 将druid.properties文件读取出来并写入Properties集合中
            pro.load(JdbcDruidDemo.class.getClassLoader().getResourceAsStream("druid.properties"));
            //3. 创建数据库连接池对象  通过工厂来获取 DruidDataSourceFactory 然后传递Properties对象 实现标准接口:DataSource
            DataSource ds = DruidDataSourceFactory.createDataSource(pro);
            //4. 获取数据库连接对象
            conn = ds.getConnection();
            //5. 创建sql语句
            String sql = "select * from user";
            //6. 创建执行sql对象
            stmt = conn.createStatement();
            //7. 创建一个ResultSet:结果集对象,封装查询结果
            rs = stmt.executeQuery(sql);
            //8. 然后在用ResultSet里的方法 next():游标向下移动一行 判断是否有数据 有就是true,没有就是false
            while (rs.next()) {
          
   
                //rs.getString():传递的是数据库的字段
                String username = rs.getString("username");
                int password = rs.getInt("password");
                //9. 输入结果
                System.out.println(username + "    " + password);
            }
        } catch (Exception e) {
          
   
            e.printStackTrace();
        }finally{
          
   
            //10. 释放资源
            try {
          
   
               if(rs != null){
          
   
                   rs.close();
               }
            }catch(Exception e){
          
   
                e.printStackTrace();
            }
            try {
          
   
                if(stmt != null){
          
   
                    stmt.close();
                }
            }catch(Exception e){
          
   
                e.printStackTrace();
            }
            try {
          
   
                if(conn != null){
          
   
                    conn.close();
                }
            }catch(Exception e){
          
   
                e.printStackTrace();
            }
        }
    }
}

运行结果:

查询sql结果:

经验分享 程序员 微信小程序 职场和发展