Druid与DBUtils获取数据库

jdbc连接数据库

需要导入的第三方库2个

dbutils        druid

加载驱动 

利用druid创建数据库连接池

关闭流操作

package Test;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.apache.commons.dbutils.DbUtils;
import org.junit.Test;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;
import java.sql.Statement;
import java.sql.ResultSet;

public class DruidTest {
//    1、加载驱动
    //2、获取连接
    @Test
    public static Connection getConnection() throws Exception {
        Properties pros = new Properties();
        InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");//配置文件地址
        pros.load(is);
        DataSource source = DruidDataSourceFactory.createDataSource(pros);
        Connection connection = source.getConnection();
        System.out.println(connection);
        return connection;

    }
//    关闭流
    public static void closeResource1(Connection conn,Statement ps,ResultSet rs){
        DbUtils.closeQuietly(conn);
        DbUtils.closeQuietly(ps);
        DbUtils.closeQuietly(rs);
    }
}

         这是最基本的配置文件

url=jdbc:mysql:///test
username=root
password=abc123
driverClassName=com.mysql.jdbc.Driver

利用封装的dbutils实现增删改查操作

package Test;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.junit.Test;

import java.sql.Connection;

public class QueryRunnerTest {

//    增加一条数据
    @Test
    public void testInsert()  {
        Connection conn = null;
        try {
            QueryRunner runner = new QueryRunner();
            conn = DruidTest.getConnection();
            String sql = "insert into customers(name,email,birth)values(?,?,?)";
            int i = runner.update(conn, sql, "蔡徐坤", "caixukun@126.com", "1997-09-08");
            System.out.println(i);
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DruidTest.closeResource1(conn, null, null);
        }
    }
//    查询数据  有多种情况,具体情况具体分析
    @Test
    public void testQuery()  {
        Connection connection1 = null;
        try {
            QueryRunner runner = new QueryRunner();
            Connection connection = DruidTest.getConnection();
            String sql="select id,name,email,birth from customers where id = ?";
//        需求不一样,传入的东西不一样
            BeanHandler<Connection> handler = new BeanHandler<>(Connection.class);
            connection1 = runner.query(connection, sql, handler, 18);
            System.out.println(connection1);
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DruidTest.closeResource1(connection1, null, null);
        }
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
技术实现。 JDBC是Java Database Connectivity的缩写,它是一种Java语言访问数据库的标准API,它提供了一种统一的访问数据库的方式,使得Java程序员可以使用统一的方式连接和操作不同的数据库Druid是阿里巴巴开源的一个高性能、可扩展、功能强大的连接池实现,它不仅支持JDBC的连接池,还支持NoSQL数据库的连接池。 Dbutils是Apache开源的一个简化JDBC编程的工具库,它提供了一组简洁而强大的API,使得开发者可以更加方便地进行数据库操作。 在使用JDBC Druid Dbutils技术实现学生表、课程表、成绩表时,我们可以先创建一个数据库连接池对象,然后使用该对象获取数据库连接,最后使用Dbutils提供的API进行数据库操作。 以下是一个使用JDBC Druid Dbutils技术实现查询学生表的示例代码: //创建Druid连接池对象 DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("123456"); //获取数据库连接 Connection conn = dataSource.getConnection(); //使用Dbutils查询学生表 QueryRunner queryRunner = new QueryRunner(); List<Student> students = queryRunner.query(conn, "SELECT * FROM student", new BeanListHandler<Student>(Student.class)); //输出查询结果 for(Student student : students) { System.out.println(student); } //释放资源 DbUtils.close(conn);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值