QueryRunner的使用

public class JdbcUtil {
private static ComboPooledDataSource dataSource
=new ComboPooledDataSource();
public static ComboPooledDataSource
getDataSource()
{
return dataSource;
}

}

src目录下c3p0-config.xml

从数据库中取count(*)数据


1         int topicNum=0;
2 QueryRunner runner= new QueryRunner(JdbcUtil.getDataSource());
3 String sql ="select count(*) from topic where type_id= ? order by time desc";
4 Object[] params={typeId};
5 topicNum=(int)(long) runner.query(sql,new ScalarHandler(),params);
6 return topicNum;

取一条数据


1         Topic newlyTopic=null;
2 QueryRunner runner= new QueryRunner(JdbcUtil.getDataSource());
3 String sql ="select * from topic where type_id= ? order by time desc";
4 Object[] params={typeId};
5 newlyTopic= runner.query(sql,new BeanHandler<Topic>(Topic.class),params);
6 return newlyTopic;

取集合数据List<>返回


1         List<Topic> topicList=new ArrayList<Topic>();
2 QueryRunner runner= new QueryRunner(JdbcUtil.getDataSource());
3 String sql ="select * from topic where type_id= ? order by time desc";
4 Object[] params={typeId};
5 topicList=runner.query(sql, new BeanListHandler<Topic>(Topic.class),params);
6 return topicList;

插入


 1         QueryRunner runner= new QueryRunner(JdbcUtil.getDataSource());
2 String sql ="insert into topic(name,author,content,time,type_id) values(?,?,?,?,?)";
3 Object[] params={topic.getName(),topic.getAuthor(),topic.getContent(),topic.getTime(),topic.getTypeId()};
4 try {
5 //事务开始
6 runner.update(sql,params);
7 //事务提交
8 } catch (SQLException e) {
9 e.printStackTrace();
10 //事务回滚
11 throw e;
12 }

更新


 1         QueryRunner runner= new QueryRunner(JdbcUtil.getDataSource());
2 String sql ="update topic set name=? , content=? , time=? where id= ?";
3 Object[] params={topic.getName(),topic.getContent(),topic.getTime(),topic.getId()};
4 try {
5 //事务开始
6 runner.update(sql,params);
7 //事务提交
8 } catch (SQLException e) {
9 e.printStackTrace();
10 //事务回滚
11 throw e;
12 }

时间: 2024-10-29 19:08:52

QueryRunner的使用的相关文章

[JavaWeb]关于DBUtils中QueryRunner的一些解读(转)

QueryRunner类 QueryRunner中提供对sql语句操作的API它主要有三个方法 query() 用于执行select update() 用于执行insert/update/delete batch() 批处理 1,Query语句先来看下query的两种形式, 我们这里主要讲第一个方法, 因为我们用C3P0来统一管理connection.(QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()))query(sql,Re

[JavaWeb]关于DBUtils中QueryRunner的一些解读.

前言:[本文属于原创分享文章, 转载请注明出处, 谢谢.]前面已经有文章说了DBUtils的一些特性, 这里再来详细说下QueryRunner的一些内部实现, 写的有错误的地方还恳请大家指出. QueryRunner类 QueryRunner中提供对sql语句操作的API它主要有三个方法 query() 用于执行select update() 用于执行insert/update/delete batch() 批处理 1,Query语句先来看下query的两种形式, 我们这里主要讲第一个方法, 因

java.lang.ClassNotFoundException: org.apache.commons.dbutils.QueryRunner

七月 28, 2017 11:06:33 下午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet [com.itheima.transfer.web.TransferServlet] in context with path [/WEB19] threw exception [Servlet execution threw an exception] with root ca

c3p0和QueryRunner的结合使用,让开发更加简便

1:DBUtils中的QueryRunner的使用: 1.1:QueryRunner中提供了对SQL语句操作的api: 1.2:主要有三个方法: 1.2.1:query():用于执行select(查询): 1.2.2:update():用于执行insert(插入)/update(更新)/delete(删除): 1.2.3:batch():批处理: 2:c3p0和QueryRunner的结合使用: 2.1:首先导包,如下所示的包: c3p0-0.9.1.2.jar commons-dbutils-

DBUtiles中的简单使用(QueryRunner和ResultSetHandler的手动实现)

DBUtiles是一个很好的处理JDBC的工具类.(DbUtils is a small set of classes designed to make working with JDBC easier ) DBUtiles中的QueryRunner和ResultSetHandler的手动实现 其中比较常用的就是QueryRunner类和ResultSetHandler接口.通过它们可以很方便的实现JDBC的功能. QueryRunner类,有四个构造方法,其中有的构造方法可以接受一个DataS

DBUtil用法之ResultSetHandler 和 QueryRunner总结

ResultSetHandler 和 QueryRunnerResultSetHandler是用来简化查询到的数据处理的.ResultSetHandler的实现方法可以不用创建实例对象去封装就能打印出来查询到的全部数据.通过: ArrayHandler:把结果集中的第一行数据转成对象数组.ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中.BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中.BeanListHandler:

QueryRunner的API

org.apache.commons.dbutils Class QueryRunner java.lang.Object org.apache.commons.dbutils.AbstractQueryRunner org.apache.commons.dbutils.QueryRunner public class QueryRunner extends AbstractQueryRunner Executes SQL queries with pluggable strategies fo

QueryRunner类 的應用,以及ResultSetHandler 接口的实现类

1 .该接口用于处理 java.sql.ResultSet,将数据按要求转换为另一种形式. ResultSetHandler 接口提供了一个单独的方法:Object handle (java.sql.ResultSet .rs).2.ResultSetHandler 接口的实现类 ArrayHandler:把结果集中的第一行数据转成对象数组.ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中.BeanHandler:将结果集中的第一行数据封装到一个对应的J

QueryRunner使用

在相继学习了JDBC和数据库操作之后,我们明显感到编写JDBC代码并非一件轻松的事儿.为了帮助我们更高效的学习工作,从JDBC的繁重代码中解脱出来,老佟给我们详尽介绍了一个简化JDBC操作的组件——DBUtils.我们今天主要学习了它所提供的两个类和一个接口. 组件下载地址:http://commons.apache.org/dbutils/ DbUtils类(org.apache.commons.dbutils.DbUtils)主要负责装载驱动.关闭连接的常规工作. 1.       clos