JDBC学习(十二):使用BeanHandler实现查询

简介: JDBC学习(十二):使用BeanHandler实现查询

1、查询一条数据(针对Beauty表)


package demo07;
import java.sql.Connection;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.junit.jupiter.api.Test;
import utils.Beauty;
import utils.JDBCUtils;
public class DbutilsQueryTest {
  /**
   * BeanHandler是ResultSetHandler的实现类,用于封装表中的一条记录
   * @throws Exception
   */
  @Test
  public void test1(){
    Connection conn = null;
    try {
      QueryRunner runner = new QueryRunner();
      conn = JDBCUtils.getConnectionDruid();
      String sql = "select id,name,borndate from beauty where id=?";
      BeanHandler<Beauty> handler = new BeanHandler<>(Beauty.class);
      Beauty beauty = runner.query(conn, sql, handler, 10);
      System.out.println(beauty);
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      JDBCUtils.closeResourse(conn, null);
    }
  }
}


2、查询多条数据(构成集合)


package demo07;
import java.sql.Connection;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.junit.jupiter.api.Test;
import utils.Beauty;
import utils.JDBCUtils;
public class DbutilsQueryTest {
  /*
   * 测试查询:查询多条记录构成的集合
   * 
   * 使用ResultSetHandler的实现类:BeanListHandler
   */
  @Test
  public void test2() {
    Connection conn = null;
    try {
      QueryRunner runner = new QueryRunner();
      conn = JDBCUtils.getConnectionDruid();
      String sql = "select id,name,borndate from beauty where id<?";
      BeanListHandler<Beauty> handler = new BeanListHandler<>(Beauty.class);
      List<Beauty> list = runner.query(conn, sql, handler, 10);
      list.forEach(System.out::println);
    } catch (Exception e) {
      e.printStackTrace();
    }
    JDBCUtils.closeResourse(conn, null);
  }
}


相关文章
|
4月前
|
SQL Java 数据库连接
JDBC连接SQL Server2008 完成增加、删除、查询、修改等基本信息基本格式及示例代码
这篇文章提供了使用JDBC连接SQL Server 2008数据库进行增加、删除、查询和修改操作的基本步骤和示例代码。
|
7月前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
7月前
|
SQL Java 关系型数据库
Java学习—JDBC
Java学习—JDBC
|
7月前
|
SQL Java 数据库连接
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)(下)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
526 1
|
7月前
|
SQL Java 关系型数据库
JDBC技术【JDBC概述、获取数据库连接、 下载数据库驱动】(一)-全面详解(学习总结---从入门到深化)
JDBC技术【JDBC概述、获取数据库连接、 下载数据库驱动】(一)-全面详解(学习总结---从入门到深化)
310 0
JDBC技术【JDBC概述、获取数据库连接、 下载数据库驱动】(一)-全面详解(学习总结---从入门到深化)
|
7月前
|
SQL druid Java
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
90 0
|
7月前
|
SQL Java 数据库连接
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)(中)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
73 0
|
7月前
|
SQL Java 关系型数据库
JDBC技术【SQL注入、JDBC批量添加数据、JDBC事务处理、其他查询方式】(三)-全面详解(学习总结---从入门到深化)
JDBC技术【SQL注入、JDBC批量添加数据、JDBC事务处理、其他查询方式】(三)-全面详解(学习总结---从入门到深化)
93 0
|
7月前
|
SQL 存储 Java
JDBC技术【封装JDBC工具类、Statement的使用、PreparedStatement的使用(重点)、ResultSet的使用】(二)-全面详解(学习总结---从入门到深化)
JDBC技术【封装JDBC工具类、Statement的使用、PreparedStatement的使用(重点)、ResultSet的使用】(二)-全面详解(学习总结---从入门到深化)
456 0
|
Java 关系型数据库 MySQL