DbUtils入门实例
2009-01-13 14:33
155 查看
学习java免不了和数据库打交道。下面我介绍下apache的一个类库,很好用的,没那么多的get和set了,
因为我们知道使用javabean来对数据库中的字段进行封装保存,取出免不了get,设置又要set。而今天这个类库就不用,
他就是 commons-dbutils-1.1.jar,也不知道大家有没有用过的,心得大家一块分享下。
首先我们先看一个我们常规的得到查询数据库所得到的ResultSet。
1、表:person:字段:username,id,age .要查id为1 的用户信息, 用javabean封装,PersonVo
public PersonVo getInfo(int id) throws Exception {
PersonVo pv = new PersonVo();
String sql = “SELECT * FROM person WHERE id = ” + id;
Connection connection = super.getConnection();
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
pv.setId(rs.getInt(1));
pv.setUsername(rs.getString(2));
pv.setAge(rs.getInt(3));
}
ok,我们得到了。
下面开始介绍dbutils.jar
今天我们主要使用org.apache.commons.dbutils.handler下面的类
主要的类有: ArrayHandler,ArrayListHandler,BeanHandler,BeanListHandler,MapHandler,MapListHandler
1.同样是要得到一条结果,那我们就可以用ArrayHandler或BeanHandler或MapHandler.
下面看方法
public PersonVo getInfo(int id) throws Exception {
QueryRunner queryRunner = new QueryRunner();
String sql = “select * from person where id = ” + id;
return (PersonVo)queryRunner.query(getConnection(), sql,new BeanHandler(PersonVo.class));
}
QueryRunner我个人觉得和我们以前用过的Statement差不多。
他有一个方法query(java.sql.Connection conn, java.lang.String sql, ResultSetHandler rsh) ,其他的大家可以下载下来
自己试着用下。
getConnection() 是拿到一个和数据库的Connection。
这样我们在前台,就直接可以
PersonVo pv = new Test().getInfo(1);
System.out.println(pv.getUsername());
如果结果有一条以上,就要用BeanListHandler,MapListHandler.
如:
public List<PersonVo> getRegist3() throws Exception {
QueryRunner queryRunner = new QueryRunner();
String sql = “select * from person”;
return (List)queryRunner.query(getConnection(), sql,new BeanListHandler(PersonVo.class));
}
//////////////////////////////////////////////////////////////
ps:MapHandler
3.public Map getRegist() throws Exception {
QueryRunner queryRunner = new QueryRunner();
String sql = “select * from person where id = 2″;
return (Map) queryRunner.query(getConnection(), sql,new MapHandler());
}
MapListHandler
4.public List<Map> getRegist4() throws Exception {
QueryRunner queryRunner = new QueryRunner();
String sql = “select * from person”;
return (List)queryRunner.query(getConnection(), sql,new MapListHandler());
}
//大家可以使用一下,如果数据库中的字段有上千个,看看省去了多少代码。。。。。hoho。。。不对请拍砖。
因为我们知道使用javabean来对数据库中的字段进行封装保存,取出免不了get,设置又要set。而今天这个类库就不用,
他就是 commons-dbutils-1.1.jar,也不知道大家有没有用过的,心得大家一块分享下。
首先我们先看一个我们常规的得到查询数据库所得到的ResultSet。
1、表:person:字段:username,id,age .要查id为1 的用户信息, 用javabean封装,PersonVo
public PersonVo getInfo(int id) throws Exception {
PersonVo pv = new PersonVo();
String sql = “SELECT * FROM person WHERE id = ” + id;
Connection connection = super.getConnection();
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
pv.setId(rs.getInt(1));
pv.setUsername(rs.getString(2));
pv.setAge(rs.getInt(3));
}
ok,我们得到了。
下面开始介绍dbutils.jar
今天我们主要使用org.apache.commons.dbutils.handler下面的类
主要的类有: ArrayHandler,ArrayListHandler,BeanHandler,BeanListHandler,MapHandler,MapListHandler
1.同样是要得到一条结果,那我们就可以用ArrayHandler或BeanHandler或MapHandler.
下面看方法
public PersonVo getInfo(int id) throws Exception {
QueryRunner queryRunner = new QueryRunner();
String sql = “select * from person where id = ” + id;
return (PersonVo)queryRunner.query(getConnection(), sql,new BeanHandler(PersonVo.class));
}
QueryRunner我个人觉得和我们以前用过的Statement差不多。
他有一个方法query(java.sql.Connection conn, java.lang.String sql, ResultSetHandler rsh) ,其他的大家可以下载下来
自己试着用下。
getConnection() 是拿到一个和数据库的Connection。
这样我们在前台,就直接可以
PersonVo pv = new Test().getInfo(1);
System.out.println(pv.getUsername());
如果结果有一条以上,就要用BeanListHandler,MapListHandler.
如:
public List<PersonVo> getRegist3() throws Exception {
QueryRunner queryRunner = new QueryRunner();
String sql = “select * from person”;
return (List)queryRunner.query(getConnection(), sql,new BeanListHandler(PersonVo.class));
}
//////////////////////////////////////////////////////////////
ps:MapHandler
3.public Map getRegist() throws Exception {
QueryRunner queryRunner = new QueryRunner();
String sql = “select * from person where id = 2″;
return (Map) queryRunner.query(getConnection(), sql,new MapHandler());
}
MapListHandler
4.public List<Map> getRegist4() throws Exception {
QueryRunner queryRunner = new QueryRunner();
String sql = “select * from person”;
return (List)queryRunner.query(getConnection(), sql,new MapListHandler());
}
//大家可以使用一下,如果数据库中的字段有上千个,看看省去了多少代码。。。。。hoho。。。不对请拍砖。
相关文章推荐
- c#Socket通信入门实例
- Thrift入门及Java实例演示
- SSB(SQLservice Service Broker) 入门实例
- SpringMVC入门教程及其原理讲解和实例代码下载
- Python Pandas数据科学入门实例演示(十九02)
- AjaxPro(入门)实例
- Jotm 分布式事物管理入门实例
- XSS跨站脚本攻击入门实例--DVWA
- ActiveMQ入门实例
- SOAP与AXIS2入门教程(附带实例)(转)
- Ajax入门实例----HelloWorld附源码详细注释
- jQuery基础语法实例入门
- java 反射入门-属性方法调用实例
- Lucene入门实例。
- 实例iPhone编程入门教程-第四天
- FLEX入门实例--------FLEX全屏功能实现及右键菜单
- Maven入门(含实例教程)
- 实例iPhone编程入门教程-第十一天
- angularjs2入门实例(2)
- php简单smarty入门程序实例