DBUtils如何使用

本文详细介绍了如何在Eclipse环境中使用Apache DBUtils连接和操作MySQL数据库,包括DBUtils的下载与配置、数据库连接、数据表创建、数据插入、更新、删除和查询。同时,文章讲解了QueryRunner类及其常用方法,如ArrayHandler、ArrayListHandler等,展示了DBUtils简化SQL操作的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DBUtils如何使用

一、准备

1.关于“Eclipse”
(1)下载DBUtils
http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi
在这里插入图片描述
(2)下载后选择相应的路径进行解压
如:在这里插入图片描述
(3)在Eclipse中进行路径配置
(i)新建项目:
打开Eclispe->文件->新建->java 项目->取名“DBUtils”->点击完成
在这里插入图片描述

(ii)导入“DBUtils”
在项目名称(DBUtils)后右击,选择“构建路径”,然后点击“配置构建路径”
在这里插入图片描述
找到之前下载的“DBUtils”,选择其路径
在这里插入图片描述
点击“打开”,出现下面的结果
在这里插入图片描述
点击下方的“应用并关闭”,最终可在项目中的“引用的库”,看到刚刚导入的“DBUtils”,如下图所示
在这里插入图片描述
(iii)在该项目(DBUtils)下,新建一个类(Test1)
在这里插入图片描述
在这里插入图片描述

2.连接数据库(Eclipse连接MySQL)(操作与 1.类似)
(1)下载
https://dev.mysql.com/downloads/connector/j/
在这里插入图片描述
(2)导入“mysql-connector-java-8.0.21.jar"
在这里插入图片描述
在这里插入图片描述
3.关于“MySQL”
(1)打开“MySQL Workbench 8.0 CE”,新建一个“DB”的数据库,点击“ok”
在这里插入图片描述
点击“DB”,输入密码(安装时自己设定的)
在这里插入图片描述
(2)创建数据库
(i)在左下角schema下方区域鼠标右键选择create schema,即可创建数据库
在这里插入图片描述

命名为“Student”
在这里插入图片描述
(ii)点击“Apply”
在这里插入图片描述
再次点击“Apply”,出现“student”数据库
在这里插入图片描述
(3)建立表
在这里插入图片描述
表格命名为“me”,创建“ID”,“NAME”,“AGE”信息
在这里插入图片描述
点击“Apply”
在这里插入图片描述
再次点击“Apply”
在这里插入图片描述
点击finsh
(4)初始化表
点击下图红色部分
在这里插入图片描述
输入插入语句
insert into me values(101,‘章叁’,18);

二、初步测试“连接数据库”

1.代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Test1 {
	public static void main(String args[]) {
        String driverClassName = "com.mysql.cj.jdbc.Driver";
		String url="jdbc:mysql://localhost:3306/student?serverTimezone=UTC";
        String userName = "root";
        String password = "123456";
        Connection conn = null;
        try {
			Class.forName(driverClassName);        
            conn = DriverManager.getConnection(url, userName, password);
            System.out.println("获取数据库连接成功!");
            Statement st = conn.createStatement();
			ResultSet rs = st.executeQuery("select * from me");  // me 为表的名称
			while (rs.next()) {
				System.out.print(rs.getInt("ID"));
				System.out.println(rs.getString("NAME"));
			}
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2.结果:
在这里插入图片描述

三、DBUtils的类

1.QueryRunner
Dbutils的核心类之一,它显著的简化了SQL查询
它的方法有:
update(Connection conn, String sql, Object[] params):被用来执行插入、更新或删除(DML)操作。
2.查询
(1)ArrayHandler
将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值
(2)ArrayListHandler
将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。
(3)BeanHandler
将结果集中第一条记录封装到一个指定的javaBean中。
(4)BeanListHandler
将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
(5)ColumnListHandler
将结果集中指定的列的字段值,封装到一个List集合中

四、DButils使用

1.代码(对数据进行插入、更新、删除、查找)

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.ColumnListHandler;
public class Test1 {
	public static void main(String args[]) {
	  insert();//插入
	  update();//更新
	  delete();//删除
	  select();//查找
	}
	public static void insert() {
		Connection conn=connectDB();   // 获取数据库连接
        QueryRunner runner=new QueryRunner();//QueryRunner是Dbutils的核心类之一,它显著的简化了SQL查询
        String sql="insert into me(ID,NAME,AGE)values(102,'齐思',18)";
        int num;
        try {
        	num=runner.update(conn,sql);
        	System.out.println("插入了"+num+"组数据");
        }catch(SQLException e) {
        	e.printStackTrace();
        }
        DbUtils.closeQuietly(conn);  // 关闭数据库连接
	}

	public static void update() {
		Connection con=connectDB();
		QueryRunner runner=new QueryRunner();
		String sql="update me set NAME='章叁2'where ID=101";
		try {
			int num=runner.update(con,sql);
        	System.out.println("更新了"+num+"组数据");
        }catch(SQLException e) {
        	e.printStackTrace();
        }
        DbUtils.closeQuietly(con);  // 关闭数据库连接
	}
	
	public static void delete() {
		Connection con=connectDB();
		QueryRunner runner=new QueryRunner();
		String sql="delete from me where ID=103";
		try {
			int num=runner.update(con,sql);
        	System.out.println("删除了"+num+"组数据");
        }catch(SQLException e) {
        	System.out.println("无法找到改组数据,删除失败");
        }
        DbUtils.closeQuietly(con);  // 关闭数据库连接
	}
		
		public static void select()  {
			Connection con=connectDB();
		      try {  QueryRunner qr = new QueryRunner();
		        String sql = "select ID,NAME from me where AGE = ?";
		        //注意sql语句中的筛选项(username,password)一定要包括下列list中的参数项(username)
		        Object [] param = {18};
		        List<Object> list = qr.query(con,sql,new ColumnListHandler<Object>("NAME"),param);
		        //若没有查询到则list.size()=0
		        for (Object o : list){
		            System.out.println(o + "\t");
		        }
	        }catch(Exception e) {
	        	e.printStackTrace();
	        }	       
	        DbUtils.closeQuietly(con);
	    }
	
	
	public static Connection connectDB() {	
        String driverClassName = "com.mysql.cj.jdbc.Driver";
		String url="jdbc:mysql://localhost:3306/student?serverTimezone=UTC";
        String userName = "root";
        String password = "123456";
        Connection conn = null;
        try {
			Class.forName(driverClassName);        
            conn = DriverManager.getConnection(url, userName, password);
            System.out.println("\n获取数据库连接成功!");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }
}

2.结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值