QueryRunnerの使用

6796 ワード

public class JdbcUtil { private static ComboPooledDataSource dataSource =new ComboPooledDataSource(); public static ComboPooledDataSource getDataSource() { return dataSource; } }
srcディレクトリの下c 3 p 0-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;

 
コレクションデータリスト<>は、テーブルのフィールド名とクラス名が同じであることを返す
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         }