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);
  }
}


相关文章
|
10月前
|
Java 数据库连接 数据库
【YashanDB知识库】jdbc查询st_geometry类型的数据时抛出YAS-00101 cannot allocate 0 bytes for anlHeapMalloc异常
【YashanDB知识库】jdbc查询st_geometry类型的数据时抛出YAS-00101 cannot allocate 0 bytes for anlHeapMalloc异常
|
10月前
|
SQL druid Java
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
|
10月前
|
SQL druid Java
【YashanDB知识库】YashanDB JDBC查询时抛出YAS-02094
【YashanDB知识库】YashanDB JDBC查询时抛出YAS-02094
|
10月前
|
SQL druid Java
【YashanDB知识库】YashanDB JDBC查询时抛出YAS-02094
【YashanDB知识库】YashanDB JDBC查询时抛出YAS-02094
|
10月前
|
SQL druid Java
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
|
11月前
|
Java 数据库连接 数据库
【YashanDB 知识库】jdbc 查询 st_geometry 类型的数据时抛出 YAS-00101 cannot allocate 0 bytes for anlHeapMalloc 异常
**简介:** 客户在使用 YashanDB JDBC 驱动查询含 st_geometry 列的数据时,遇到 YAS-00101 错误,提示无法分配内存。该问题影响所有版本的 YashanDB,导致业务中断。原因是用户缺少对 st_geometry 类型的 execute 权限。解决方法是为用户赋权:`grant execute any type to &lt;username&gt;;` 以恢复正常运行。
|
11月前
|
Java 数据库连接 数据库
【YashanDB 知识库】jdbc 查询 st_geometry 类型的数据时抛出 YAS-00101 cannot allocate 0 bytes for anlHeapMalloc 异常
**问题简介:** 客户使用 YashanDB JDBC 驱动查询含 st_geometry 列的数据时,出现 YAS-00101 错误,提示无法分配 0 字节内存。该问题影响所有 YashanDB 版本,导致业务中断。原因是数据库用户缺少 st_geometry 类型的 execute 权限。解决方法是为用户赋权:`grant execute any type to &lt;username&gt;;`。
|
SQL Java 数据库连接
JDBC连接SQL Server2008 完成增加、删除、查询、修改等基本信息基本格式及示例代码
这篇文章提供了使用JDBC连接SQL Server 2008数据库进行增加、删除、查询和修改操作的基本步骤和示例代码。
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
214 1
|
SQL Java 关系型数据库
Java学习—JDBC
Java学习—JDBC
140 1