QueryRunner的使用

Posted zhuzhuxuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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         }
复制代码

以上是关于QueryRunner的使用的主要内容,如果未能解决你的问题,请参考以下文章

QueryRunner使用之可变条件的处理

QueryRunner的使用

模拟DBUtils中的queryRunner.query()的反射机制的模拟

DBUtils QueryRunner 实例化

QueryRunner类

使用 QueryRunner 插入 ArrayList<Object[]>