这篇文章主要介绍JavaWeb dbutils执行sql命令并遍历结果集时不能查到内容的原因是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
<强> JavaWeb dbutils执行sql命令并遍历结果集时不能查到内容的原因及处理方法如下所示:强>
遍历结果集时只遍历bean对象才会只输出第一行那种内容(第一行是输出了UserEntity类实例化的对象),所以这里需要re.getRepoTableName()才能通过对象调用相对应的内容
这样一来,就可以取到值了
<>强PS: JavaWeb之dbutils详细介绍如下所示:强>
<强>一、什么是dbutils及作用强>
dbutils是apache公司写的.DBUtils是java编程中的数据库操作实用工具,小巧简单实用。
dbutils封装了对JDBC的操作,简化了JDBC操作。可以少写代码。
1。对于数据表的读操作,他可以把结果转换成列表、数组、集合等java集合,便于程序员操作,
2。对于数据表的写操作,也变得很简单(只需写sql语句)
3。可以使用数据源,使用JNDI,数据库连接池等技术来优化性能,重用已经构建好的数据库连接对象
<强>二,DBUtils的三个核心对象强>
<强> 2.1,QueryRunner类强>
QueryRunner中提供对sql语句操作的API。它主要有三个方法:查询()用于执行选择、更新()用于执行插入、更新、删除、批量()批处理。等下下面的会详细的介绍这几种方法的用法。
<强> 2.2,ResultSetHandler接口强>
用于定义选择操作后,怎样封装结果集。它总共有9个常用的实现类、下面我会详细的为大家介绍怎么去使用。
<强> 2.3,DbUtils类强>
它就是一个工具类,定义了关闭资源与事务处理的方法
<强>三,怎么去使用DbUtils框架强>
<强> 3.1,使用步骤强>
导入相对应的jar包
创建QueryRunner对象
,,使用查询方法执行选择语句
,,使用ResultSetHandler封装结果集
,,使用DbUtils类释放资源
<强> 3.2,实例强>
注:本人使用的是C3P0连接池
import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import 并不知道; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.ResultSetHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.junit.Test; import com.jxlg.domain.User; public class  TestSelect { ,@Test ,public void  testSelect () { ,//创建一个QueryRunner对象 ,QueryRunner qr =, new QueryRunner (C3P0Util.getDataSource ()); ,try {//才能,new ResultSetHandler祝辞告诉我们如何封装结果集 List<才能;User>, list =, qr.query (“select  *,得到user",, new ResultSetHandler
在(){ @Override才能//查询才能语句执行选择语句后,结果一返回值的形式传递过来 public 才能;List< User>,处理(ResultSet rs), throws SQLException { ,,List
(); ,,,(rs.next ()) { ,,User u =, new 用户(); ,,u.setId (rs.getInt (1)); ,,u.setUsername (rs.getString (2)); ,,u.setPassword (rs.getString (3)); ,,u.setEmail (rs.getString (4)); ,,u.setBirthday (rs.getDate (5)); ,,list.add (u); ,,} ,,return 列表; ,,} ,,}); for 才能;(User User :列表),{ System.out.println才能(用户); ,,} ,}catch (SQLException e), { e.printStackTrace才能(); ,} } ,@Test ,public void  testSelect2 () { ,//创建一个QueryRunner对象 ,QueryRunner qr =, new QueryRunner (C3P0Util.getDataSource ()); ,try {//才能执行sql语句,返回结果 List<才能;User>, list =, qr.query (“select  *,得到user where id=?,以及用户名=?“,,new BeanListHandler (User.class), 1,“tom"); for 才能;(User User :列表),{ System.out.println才能(用户); ,,} ,}catch (SQLException e), { e.printStackTrace才能(); ,} ,} } JavaWeb dbutils执行sql命令并遍历结果集时不能查到内容的原因是什么