java beanhandler_DBUtils BeanHandler类

本篇文章帮大家学习dbutils BeanHandler类,包含了DBUtils BeanHandler类使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

org.apache.commons.dbutils.BeanHandler是ResultSetHandler接口的实现,负责将第一个ResultSet行转换为javaBean。 这个类是线程安全的。

类声明

以下是org.apache.commons.dbutils.BeanHandler类的声明 -

public class BeanHandler

extends Object implements ResultSetHandler

用法

第1步 - 创建一个连接对象。第2步 - 获取ResultSetHandler作为BeanHandler对象的实现。第3步 - 将resultSetHandler传递给QueryRunner对象,并进行数据库操作。

示例

以下示例将演示如何使用BeanHandler类读取记录。 我们将读取Employees表中的一条记录,并将其映射到Employee bean。

语法

Employee emp = queryRunner.query(conn, "SELECT * FROM employees WHERE first=?", resultHandler, "Sumit");

其中

resultHandler - ResultSetHandler对象将结果集映射到Employee对象。

queryRunner - QueryRunner对象从数据库中读取Employee对象。

为了理解上述与DBUtils相关的概念,让我们编写一个将运行读取查询的示例。 创建一个示例应用程序。

更新在DBUtils入门程序中创建的文件:MainApp.java 。编译并运行应用程序,如下所述。

以下是Employee.java的内容。

public class Employee {

private int id;

private int age;

private String first;

private String last;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getFirst() {

return first;

}

public void setFirst(String first) {

this.first = first;

}

public String getLast() {

return last;

}

public void setLast(String last) {

this.last = last;

}

}

以下是MainApp.java文件的内容。

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import org.apache.commons.dbutils.DbUtils;

import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.ResultSetHandler;

import org.apache.commons.dbutils.handlers.BeanHandler;

public class MainApp {

// JDBC driver name and database URL

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

static final String DB_URL = "jdbc:mysql://localhost:3306/emp";

// Database credentials

static final String USER = "root";

static final String PASS = "admin";

public static void main(String[] args) throws SQLException {

Connection conn = null;

QueryRunner queryRunner = new QueryRunner();

//Step 1: Register JDBC driver

DbUtils.loadDriver(JDBC_DRIVER);

//Step 2: Open a connection

System.out.println("Connecting to database...");

conn = DriverManager.getConnection(DB_URL, USER, PASS);

//Step 3: Create a ResultSet Handler to handle Employee Beans

ResultSetHandler resultHandler

= new BeanHandler(Employee.class);

try {

Employee emp = queryRunner.query(conn, "SELECT * FROM employees WHERE first=?",

resultHandler, "Sumit");

//Display values

System.out.print("ID: " + emp.getId());

System.out.print(", Age: " + emp.getAge());

System.out.print(", First: " + emp.getFirst());

System.out.println(", Last: " + emp.getLast());

} finally {

DbUtils.close(conn);

}

}

}

完成创建源文件后,让我们运行该应用程序。 如果应用程序一切正常,它将打印下面的消息。

ID: 103, Age: 28, First: Sumit, Last: Mittal

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值