DBUtils的介绍和基本使用

25 篇文章 0 订阅
13 篇文章 0 订阅

DBUtils的概述

  • DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能
DBUtils的常用API介绍
  1. 创建QueryRunner对象的API

    public QueryRunner(DataSource ds) ,提供数据源(连接池),DBUtils底层自动维护连接connection

  2. QueryRunner执行增删改的SQL语句的API

    int update(String sql, Object... params), params参数就是可变参数,参数个数取决于语句中问号的个数

    • eg参数1: update user set password = ? where username = ?

    • eg参数2: “123456”,“zs”

  3. 执行查询的SQL语句的API

    query(String sql, ResultSetHandler<T> rsh, Object... params),其中ResultSetHandler是一个接口,表示结果集处理者

    • eg参数1: select * from user where username = ? and password = ?

    • eg参数2: 指定查询结果封装的类型

    • eg参数3: zs , 123456

jar包的获取:
- DBUtils : commons-dbutils-1.4.jar


3.2 使用DBUtils完成增删改

  • 实现步骤:

    • 导入DButils的jar包---->mysql驱动包,第三方数据库连接池的jar包,配置文件,工具类
    • 创建QueryRunner对象,传入连接池对象
    • 调用update方法执行sql语句

代码示例:

package com.DBUtils;

import com.Utils.c3p0Utils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.junit.Test;

import java.sql.SQLException;
import java.util.Arrays;

/**
 * @Author: Mr.Xu
 * @description: DBUtils的增删改查
 * @Date: 2021/10/15  0:34
 */
public class Test_1 {

    //增加
    @Test
    public void insert() throws SQLException {
        //- 导入DButils的jar包---->mysql驱动包,第三方数据库连接池的jar包,配置文件,工具类
        // - 创建QueryRunner对象,传入连接池对象
        QueryRunner queryRunner = new QueryRunner(c3p0Utils.getDataSources());
        // - 调用update方法执行sql语句
        int rows = queryRunner.update("insert into user values(null,?,?,?)", "zl", "123456", "老赵");
        System.out.println("受影响的行数:"+rows);
    }

    // 删除
    @Test
    public void deleta() throws SQLException {
        //- 导入DButils的jar包---->mysql驱动包,第三方数据库连接池的jar包,配置文件,工具类
        // - 创建QueryRunner对象,传入连接池对象
        QueryRunner queryRunner = new QueryRunner(c3p0Utils.getDataSources());
        // - 调用update方法执行sql语句
        int rows = queryRunner.update("delete from user where id = ?", 8);
        System.out.println("受影响的行数:"+rows);
    }
    
    // 修改
    @Test
    public void update() throws SQLException {
        //- 导入DButils的jar包---->mysql驱动包,第三方数据库连接池的jar包,配置文件,工具类
        // - 创建QueryRunner对象,传入连接池对象
        QueryRunner queryRunner = new QueryRunner(c3p0Utils.getDataSources());
        // - 调用update方法执行sql语句
        int rows = queryRunner.update("update user set password = ? where id = ?", "abcdef",8);
        System.out.println("受影响的行数:"+rows);
    }

    // 查询
    @Test
    public void select() throws SQLException {
        //- 导入DButils的jar包---->mysql驱动包,第三方数据库连接池的jar包,配置文件,工具类
        // - 创建QueryRunner对象,传入连接池对象
        QueryRunner queryRunner = new QueryRunner(c3p0Utils.getDataSources());
        // - 调用query方法执行sql语句
        Object[] zs = queryRunner.query("select * from user where username = ? and password = ?", new ArrayHandler(), "zs", 123456);
        System.out.println(Arrays.toString(zs));

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Donne_CN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值