首页 > 代码库 > Apache_Commons_DbUtils数据库工具类说明
Apache_Commons_DbUtils数据库工具类说明
这几天在学习jdbc时,无意中发现apache的DbUtils工具类。用DbUtils执行sql语句,和将查询结果封装为JavaBean超级好用,省时省力。
DBUtils是个小巧的JDBC轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果集封装成JavaBean,这就为我们做了最枯燥乏味、最容易出错的一大部分工作。
一、DbUtils下载
下载地址:http://apache.fayea.com//commons/dbutils/binaries/commons-dbutils-1.6-bin.zip
文件解压后得到commons-dbutils-1.6.jar,这个就是所需的jar包。
二、准备工作
1、sql脚本
CREATE TABLE `user` ( `id` int(4) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `password` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
2、建立与数据库表相对应的user java bean。
package testDbUtils;/** * 与user表对应的java bean * */public class User { //DBUtils对结果集自动封装为JavaBean是有着苛刻要求的:必须满足JavaBean的规范,其次Bean的getter与setter方法的名字与结果集的列名一一对应 //不要求JavaBean的私有成员与表结果集列名一一对应。 String name; String password; //一定要有无参的构造函数,否则会报错 public User() { } public User(String name, String password) { this.name = name; this.password = password; } //Bean的getter与setter方法的名字与结果集的列名一一对应 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
3、随便写个数据库连接获取类
package testDbUtils;import java.sql.*;
public class ConnTools { private static String dirverClassName = "com.mysql.jdbc.Driver"; private static String url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8"; private static String user = "root"; private static String password = "aaaaaa"; public static Connection makeConnection() { Connection conn = null; try { Class.forName(dirverClassName); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { conn = DriverManager.getConnection(url, user, password); } catch (SQLException e) { e.printStackTrace(); } return conn; } }
三、示例
1、insert、update、delete
//获取Connection Connection conn = ConnTools.makeConnection();//获取dbUtils的QueryRunner对象。所有sql语句都通过QueryRunner对象执行 QueryRunner runner = new QueryRunner() String sql = "insert into user(name,password) values (?,?)";//执行sql,插入也用update方法执行。 runner.update(conn, sql, user.getName(),user.getPassword());//关闭连接 DbUtils.close(conn);
2、查询,返回封装好的user bean 对象
public static void test_find() throws SQLException { System.out.println("-------------test_find()-------------"); //创建连接 Connection conn = ConnTools.makeConnection(); //创建SQL执行工具 QueryRunner runner = new QueryRunner(); //执行SQL查询,并获取结果 List<User> list = runner.query(conn, "select id,name,pswd from user", new BeanListHandler(User.class)); //输出查询结果 for (User user : list) { System.out.println(user); } //关闭数据库连接 DbUtils.closeQuietly(conn); } }
Apache_Commons_DbUtils数据库工具类说明
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。