queryrunner连接mysql_JDBC学习(三)--QueryRunner类的使用
时间: 2023-11-18 15:03:13 浏览: 90
QueryRunner类是Apache Commons DbUtils库中的一个类,它提供了一个简单的方式来执行SQL语句并处理结果集。通过QueryRunner类,我们可以很方便地进行数据库操作,而无需编写冗长的JDBC代码。
下面是QueryRunner类的使用示例:
1. 导入相关的包
```java
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
```
2. 创建QueryRunner对象
```java
QueryRunner qr = new QueryRunner();
```
3. 执行查询操作
```java
Connection conn = null;
List<User> userList = null;
try {
conn = DbUtil.getConnection();
userList = qr.query(conn, "SELECT * FROM user", new BeanListHandler<User>(User.class));
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtil.closeConnection(conn);
}
```
在上面的示例中,我们首先获取了数据库连接,然后使用QueryRunner类的query()方法执行查询操作,该方法的参数包括连接对象、SQL语句和结果集处理器。在这里,我们使用了BeanListHandler类来处理结果集,将结果集中的每一行转换成一个User对象,并将这些对象放入一个List<User>集合中返回。
4. 执行更新操作
```java
Connection conn = null;
try {
conn = DbUtil.getConnection();
int rows = qr.update(conn, "INSERT INTO user(name, age) VALUES (?, ?)", "张三", 20);
System.out.println("插入了" + rows + "行数据。");
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtil.closeConnection(conn);
}
```
在上面的示例中,我们使用QueryRunner类的update()方法执行插入操作,该方法的参数包括连接对象、SQL语句和一组可变参数(即SQL语句中的占位符对应的值)。该方法返回受影响的行数。
除了query()和update()方法外,QueryRunner类还提供了一些其他方法,如batch()方法可以执行批量操作,queryScalar()方法可以获取一个单一的结果值等等。通过这些方法,我们可以更加方便地进行数据库操作。
需要注意的是,在使用QueryRunner类时,我们需要自行处理连接对象的获取和释放,以及事务的提交和回滚等问题。
阅读全文