DBUtils框架的使用
2012-11-29 21:05
309 查看
package www.csdn.hbsi.utils;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.junit.Test;
import www.csdn.hbsi.bean.User;
import www.csdn.net.demo.BeanListHandler;
public class DBUtils {
@Test
public void insert() throws Exception{
/*该类简单化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。
QueryRunner类提供了两个构造方法:
默认的构造方法
需要一个 javax.sql.DataSource 来作参数的构造方法。*/
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql= "insert into users values(?,?,?,?)";
Object [] params={5,"aa","nan","1998-10-23"};
// ArrayHandler:把结果集中的第一行数据转成对象数组。
Object [] result = runner.query(sql,params,new ArrayHandler());
try {
runner.update(sql,params);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void update() throws Exception{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "update users set name=? where id=?";
Object[] params ={"xxxx",1};
runner.update(sql, params);
}
@Test
public void delete() throws Exception{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "delete from users where id=?";
runner.update(sql, 1);
}
@Test
public void find() throws Exception{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users where id=?";
User user;
//BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
user = (User)runner.query(sql,5,new BeanHandler(User.class));
System.out.println(user.getId()+"----"+user.getName());
}
@Test
public void getAll() throws SQLException {
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
/*BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。*/
List<User> list = (List<User>) runner.query(sql, new BeanListHandler(User.class));
System.out.println(list.size());
for(User user:list){
System.out.println(user.getId()+"--"+user.getName()+"---"+user.getPassword());
}
}
}
package www.csdn.hbsi.utils;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.ArrayListHandler;
import org.apache.commons.dbutils.handlers.ColumnListHandler;
import org.apache.commons.dbutils.handlers.KeyedHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;
import org.junit.Test;
public class DBUtilsdemo {
@Test
public void testArrayHandler() throws Exception{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users where id=?";
Object [] params={2};
//ArrayHandler:把结果集中的第一行数据转成对象数组
Object [] result =runner.query(sql,params,new ArrayHandler());
//把得到的对象转换成一个数组输出
System.out.println(Arrays.asList(result));
}@Test
public void testArrayListHandler() throws SQLException{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
//ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。
List<Object[]> list =(List<Object[]>) runner.query(sql, new ArrayListHandler());
System.out.println(list.size());
}
@Test
public void testColumnListHandler() throws SQLException{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
//ColumnListHandler:将结果集中某一列的数据存放到List中。
List list = (List)runner.query(sql, new ColumnListHandler("name"));
System.out.println(list);
}
@Test
public void testKeyedListHandler() throws SQLException{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
//KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里,再把这些map再存到一个map里,其key为指定的key。
Map <Object,Map<String,Object>> map = runner.query(sql, new KeyedHandler("id"));
for(Map.Entry<Object,Map<String,Object>> me :map.entrySet()){
Map<String,Object> innerme = me.getValue();
for(Map.Entry<String,Object> entry : innerme.entrySet()){
System.out.println(entry.getKey()+"=="+entry.getValue());
}
}
}
@Test
public void testMapListHandler() throws SQLException{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
//MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
List<Map<String, Object>> list = runner.query(sql, new MapListHandler());
for(Map<String, Object> lists :list){
System.out.println(lists);
}
}
}
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.junit.Test;
import www.csdn.hbsi.bean.User;
import www.csdn.net.demo.BeanListHandler;
public class DBUtils {
@Test
public void insert() throws Exception{
/*该类简单化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。
QueryRunner类提供了两个构造方法:
默认的构造方法
需要一个 javax.sql.DataSource 来作参数的构造方法。*/
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql= "insert into users values(?,?,?,?)";
Object [] params={5,"aa","nan","1998-10-23"};
// ArrayHandler:把结果集中的第一行数据转成对象数组。
Object [] result = runner.query(sql,params,new ArrayHandler());
try {
runner.update(sql,params);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void update() throws Exception{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "update users set name=? where id=?";
Object[] params ={"xxxx",1};
runner.update(sql, params);
}
@Test
public void delete() throws Exception{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "delete from users where id=?";
runner.update(sql, 1);
}
@Test
public void find() throws Exception{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users where id=?";
User user;
//BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
user = (User)runner.query(sql,5,new BeanHandler(User.class));
System.out.println(user.getId()+"----"+user.getName());
}
@Test
public void getAll() throws SQLException {
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
/*BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。*/
List<User> list = (List<User>) runner.query(sql, new BeanListHandler(User.class));
System.out.println(list.size());
for(User user:list){
System.out.println(user.getId()+"--"+user.getName()+"---"+user.getPassword());
}
}
}
package www.csdn.hbsi.utils;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.ArrayListHandler;
import org.apache.commons.dbutils.handlers.ColumnListHandler;
import org.apache.commons.dbutils.handlers.KeyedHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;
import org.junit.Test;
public class DBUtilsdemo {
@Test
public void testArrayHandler() throws Exception{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users where id=?";
Object [] params={2};
//ArrayHandler:把结果集中的第一行数据转成对象数组
Object [] result =runner.query(sql,params,new ArrayHandler());
//把得到的对象转换成一个数组输出
System.out.println(Arrays.asList(result));
}@Test
public void testArrayListHandler() throws SQLException{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
//ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。
List<Object[]> list =(List<Object[]>) runner.query(sql, new ArrayListHandler());
System.out.println(list.size());
}
@Test
public void testColumnListHandler() throws SQLException{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
//ColumnListHandler:将结果集中某一列的数据存放到List中。
List list = (List)runner.query(sql, new ColumnListHandler("name"));
System.out.println(list);
}
@Test
public void testKeyedListHandler() throws SQLException{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
//KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里,再把这些map再存到一个map里,其key为指定的key。
Map <Object,Map<String,Object>> map = runner.query(sql, new KeyedHandler("id"));
for(Map.Entry<Object,Map<String,Object>> me :map.entrySet()){
Map<String,Object> innerme = me.getValue();
for(Map.Entry<String,Object> entry : innerme.entrySet()){
System.out.println(entry.getKey()+"=="+entry.getValue());
}
}
}
@Test
public void testMapListHandler() throws SQLException{
QueryRunner runner = new QueryRunner(DBManage.getDataSource());
String sql = "select * from users ";
//MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
List<Map<String, Object>> list = runner.query(sql, new MapListHandler());
for(Map<String, Object> lists :list){
System.out.println(lists);
}
}
}
相关文章推荐
- Xutils框架中关于DbUtils的使用
- 简单的三层框架以及使用dbutils进行数据库操作(入门)
- 简单的三层框架以及使用dbutils进行数据库操作(入门)
- 使用DBUtils小框架
- JavaWeb 后端 <十一> 之 DBUtils 框架 (基本使用 结果集 事务处理 对表读取)
- 简单的三层框架以及使用dbutils进行数据库操作(入门)
- 数据库链接池的使用,对应于多数据库(用c3p0实现Apache—DBUtils框架)
- Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用
- DBUtils框架及其使用
- JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作
- Apache——DBUtils框架ResultSetHandler接口使用
- 开源框架:DBUtils使用详解
- 开源框架:DBUtils使用详解
- Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用
- Apache的DBUtils框架的查询结果处理器的使用(ResultSetHandler接口的子类)
- Dbutils框架使用和文件的上传和下载
- DBUtils 框架的中batch批处理使用
- Android Xutils框架使用之DBUtils
- MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
- 实战:DBUtils框架与C3P0配合使用