DBUtils如何使用

    科技2026-03-11  4

    DBUtils如何使用 一、什么是DBUtils Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。 DBUtils包括3个包: org.apache.commons.dbutils org.apache.commons.dbutils.handlers org.apache.commons.dbutils.wrappers DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 二、DBUtils的作用 1.对于数据表的读操作,DbUtils可以把结果转换成List,Array,Set等java集合,便于程序员操作。 2.DBUtils对于数据表的写操作,也变得很简单(只需写sql语句)。 3.DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 4.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能–重用已经构建好的数据库连接对象,而不像php,asp那样,费时费力的不断重复的构建和析构这样的对象。 三、使用DBUtils 1.下载DBUtils包 http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi 2.下载MySQL https://dev.mysql.com/downloads/connector/j/

    3.在Eclipse中导入DBUtils及连接MySQL (1)导入DBUtils 打开Eclispe->文件->新建->java 项目->取名“DBUtils”->点击完成->在项目名称(DBUtils)后右击,选择“构建路径”->点击“配置构建路径”->找到之前下载的“DBUtils”,选择其路径->点击“打开”->点击下方的“应用并关闭”,最终可在项目中的“引用的库”,看到刚刚导入的“DBUtils”->在该项目(DBUtils)下,新建一个类

    (2)连接MySQL 打开“MySQL Workbench 8.0 CE”,新建一个“DB”的数据库,点击“ok”->点击“DB”,输入密码(安装时自己设定的)->创建数据库(在左下角schema下方区域鼠标右键选择create schema,并点击“Apply”)->建立表并点击finish 三、代码演示

    import java.sql.SQLException; import java.util.List; import java.util.Map; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.ArrayHandler; import org.apache.commons.dbutils.handlers.ArrayListHandler; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.apache.commons.dbutils.handlers.ColumnListHandler; import org.apache.commons.dbutils.handlers.MapHandler; import org.apache.commons.dbutils.handlers.MapListHandler; import org.apache.commons.dbutils.handlers.ScalarHandler; import cn.simon.jdbc.domain.Category; /** * DBUtils执行数据库查询操作 * 1.QueryRunner(DataSource) * 2.query(String sql, ResultSetHandler<T> rsh, Object... params); // 主要执行查询 */ public class Demo { public static void main(String[] args) throws SQLException { // TODO Auto-generated method stub // queryDemo01(); // queryDemo02(); // queryDemo03(); // queryDemo04(); // queryDemo05(); queryDemo06(); // queryDemo07(); // queryDemo08(); } // ArrayHandler处理类的使用 public static void queryDemo01() throws SQLException{ // 1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); // 2.执行查询 Object[] objs = qr.query("select * from category where cid = ?", new ArrayHandler(), 1); for(Object o: objs){ // object[]中保存了object对象 System.out.println(o); } } // ArrayListHandler public static void queryDemo02() throws SQLException{ // 1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); // 2.执行查询 List<Object[]> objs = qr.query("select * from category ", new ArrayListHandler()); for (Object[] objects : objs) { System.out.println(objects[0]+"\t"+objects[1]); } } // BeanHandler处理类的使用 public static void queryDemo03() throws SQLException{ // 1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); // 2.执行查询 String sql = "select * from category"; Category c = qr.query(sql, new BeanHandler<Category>(Category.class)); System.out.println(c); } // BeanListHandler public static void queryDemo04() throws SQLException{ // 1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); // 2.执行查询 String sql = "select * from category"; List<Category> c = qr.query(sql, new BeanListHandler<Category>(Category.class)); for (Category category : c) { System.out.println(category); } } // ColumnListHandler处理类的使用 public static void queryDemo05() throws SQLException{ // 1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); // 2.执行查询 String sql = "select * from category"; List<Object> c = qr.query(sql, new ColumnListHandler<Object>("cname")); System.out.println(c); } // MapHandler处理类的使用 public static void queryDemo06() throws SQLException{ // 1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); // 2.执行查询 String sql = "select * from category"; Map<String, Object> map = qr.query(sql, new MapHandler()); // 3. System.out.println(map); } // MapListHandler处理类的使用 public static void queryDemo07() throws SQLException{ // 1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); // 2.执行查询 String sql = "select * from category"; List<Map<String, Object>> maps = qr.query(sql, new MapListHandler()); // 3.List System.out.println(maps); } // MapListHandler处理类的使用 public static void queryDemo08() throws SQLException{ // 1.创建QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); // 2.执行查询 String sql = "select count(*) from category"; Long count = qr.query(sql, new ScalarHandler<Long>()); // 3.List System.out.println(count); } }
    Processed: 0.015, SQL: 9