Dbutis
- packagecn.lining.test;
- importjava.sql.Connection;
- importjava.sql.DriverManager;
- importjava.sql.SQLException;
- importjava.util.List;
- importjava.util.Map;
- importorg.apache.commons.dbutils.DbUtils;
- importorg.apache.commons.dbutils.QueryRunner;
- importorg.apache.commons.dbutils.handlers.ArrayHandler;
- importorg.apache.commons.dbutils.handlers.ArrayListHandler;
- importorg.apache.commons.dbutils.handlers.BeanHandler;
- importorg.apache.commons.dbutils.handlers.BeanListHandler;
- importorg.apache.commons.dbutils.handlers.ColumnListHandler;
- importorg.apache.commons.dbutils.handlers.KeyedHandler;
- importorg.apache.commons.dbutils.handlers.MapHandler;
- importorg.apache.commons.dbutils.handlers.MapListHandler;
- importorg.apache.commons.dbutils.handlers.ScalarHandler;
- publicclasstest{
- @SuppressWarnings("unchecked")
- publicstaticvoidmain(String[]args)throwsClassNotFoundException{
- UserFielduserField=newUserField();
- Connectionconn=null;
- StringjdbcURL="jdbc:mysql://localhost:3306/macaw4";
- StringjdbcDriver="com.mysql.jdbc.Driver";
- try{
- DbUtils.loadDriver(jdbcDriver);
- conn=DriverManager.getConnection(jdbcURL,"root","root");
- conn.setAutoCommit(false);//关闭自动提交
- QueryRunnerqRunner=newQueryRunner();
- //以下部分代码采用MapHandler存储方式查询
- System.out.println("***UsingMapHandler***");
- Mapmap=(Map)qRunner.query(conn,
- "select*frommc_user_fieldwhereid=?",
- newMapHandler(),newObject[]{"5"});
- System.out.println("id-------------name");
- System.out.println(map.get("id")+"-------------"
- +map.get("name"));
- //以下部分代码采用MapListHandler存储方式查询
- System.out.println("***UsingMapListHandler***");
- ListlMap=(List)qRunner.query(conn,
- "select*frommc_user_field",newMapListHandler());
- System.out.println("id-------------name");
- for(inti=0;i<lMap.size();i++){
- Mapvals=(Map)lMap.get(i);
- System.out.println(vals.get("id")+"-------------"
- +vals.get("name"));
- }
- //以下部分代码采用BeanHandler存储方式查询
- System.out.println("***UsingBeanHandler***");
- userField=(UserField)qRunner.query(conn,
- "select*frommc_user_fieldwhereid=?",
- newBeanHandler(Class.forName("cn.lining.test.UserField")),
- newObject[]{"5"});
- System.out.println("id-------------name");
- System.out.println(userField.getId()+"-------------"
- +userField.getName());
- //以下部分代码采用BeanListHandler存储方式查询
- System.out.println("***UsingBeanListHandler***");
- ListlBean=(List)qRunner.query(conn,
- "select*frommc_user_field",newBeanListHandler(Class
- .forName("cn.lining.test.UserField")));
- System.out.println("id-------------name");
- for(inti=0;i<lBean.size();i++){
- userField=(UserField)lBean.get(i);
- System.out.println(userField.getId()+"-------------"
- +userField.getName());
- }
- //以下部分代码采用ArrayHandler存储方式查询
- System.out.println("***UsingArrayHandler***");
- Object[]array=(Object[])qRunner.query(conn,
- "select*frommc_user_fieldwhereid=?",
- newArrayHandler(),newObject[]{"5"});
- System.out.println("id-------------name");
- System.out.println(array[0].toString()+"-------------"
- +array[1].toString());
- //以下部分代码采用ArrayListHandler存储方式查询
- System.out.println("***UsingArrayListHandler***");
- ListlArray=(List)qRunner.query(conn,
- "select*frommc_user_field",newArrayListHandler());
- System.out.println("id-------------name");
- for(inti=0;i<lArray.size();i++){
- Object[]var=(Object[])lArray.get(i);
- System.out.println(var[0].toString()+"-------------"
- +var[1].toString());
- }
- //以下部分代码采用ColumnListHandler存储方式查询指定列
- System.out.println("***UsingColumnListHandler***");
- ListlName=(List)qRunner.query(conn,
- "select*frommc_user_fieldwhereid=?",
- newColumnListHandler("name"),newObject[]{"5"});
- System.out.println("name");
- for(inti=0;i<lName.size();i++){
- Stringname=(String)lName.get(i);
- System.out.println(name);
- }
- //以下部分代码采用ScalarHandler存储方式查询
- System.out.println("***UsingScalarHandler***");
- Stringname=(String)qRunner.query(conn,
- "select*frommc_user_fieldwhereid=?",
- newScalarHandler("name"),newObject[]{"5"});
- System.out.println("name");
- System.out.println(name);
- //以下部分代码采用KeyedHandler存储方式查询
- System.out.println("***UsingKeyedHandler***");
- Map<String,Map>map2=(Map<String,Map>)qRunner.query(conn,
- "select*frommc_user_field",newKeyedHandler("name"));
- System.out.println("name:field_name2");
- Mapvals=(Map)map2.get("field_name2");
- System.out.println(vals.get("id")+""+vals.get("name")+""
- +vals.get("type"));
- //以下部分代码插入一条数据
- System.out.println("***Insertbegin***");
- userField=newUserField();
- qRunner.update(conn,"insertintomc_user_field("
- +"id,name,type,sort_order,required,visible)"
- +"values(?,?,?,?,?,?)",newObject[]{userField.getId(),
- userField.getName(),userField.getType(),
- userField.getSort_order(),userField.getRequired(),
- userField.getVisible()});
- System.out.println("***updateend***");
- //以下部分代码更新一条数据
- System.out.println("***updatebegin***");
- userField=newUserField();
- qRunner.update(conn,"updatemc_user_fieldset"
- +"name=?,type=?,sort_order=?,"
- +"required=?,visible=?"+"whereid=?",
- newObject[]{userField.getName(),userField.getType(),
- userField.getSort_order(),userField.getRequired(),
- userField.getVisible(),userField.getId()});
- System.out.println("***updateend***");
- //以下部分代码删除一条数据
- System.out.println("***deletebegin***");
- userField=newUserField();
- qRunner.update(conn,"deletefrommc_user_fieldwhereid2=?",
- newObject[]{userField.getId()});
- System.out.println("***deleteend***");
- }catch(SQLExceptionex){
- ex.printStackTrace();
- try{
- System.out.println("***rollbackbegin***");
- DbUtils.rollback(conn);
- System.out.println("***rollbackend***");
- }catch(SQLExceptione){
- e.printStackTrace();
- }
- }finally{
- DbUtils.closeQuietly(conn);
- }
- }
- }
· ArrayHandler:把结果集中的第一行数据转成对象数组。
· ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。
· BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
· BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
· ColumnListHandler:将结果集中某一列的数据存放到List中。
· KeyedHandler:将结果集中的每一行数据都封装到一个Map里,然后再根据指定的key把每个Map再存放到一个Map里。
· MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
· MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List。
· ScalarHandler:将结果集中某一条记录的其中某一列的数据存成Object。