首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

[转载]Dbutil 的运用示例

2012-07-02 
[转载]Dbutil 的使用示例DBUtils知识:http://blog.csdn.net/farreaching665/article/details/7101132?pack

[转载]Dbutil 的使用示例

DBUtils知识:

http://blog.csdn.net/farreaching665/article/details/7101132

?

package

?cn.lining.test;???
??
import?java.sql.Connection;???
import?java.sql.DriverManager;???
import?java.sql.SQLException;???
import?java.util.List;???
import?java.util.Map;???
??
import?org.apache.commons.dbutils.DbUtils;???
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.BeanHandler;???
import?org.apache.commons.dbutils.handlers.BeanListHandler;???
import?org.apache.commons.dbutils.handlers.ColumnListHandler;???
import?org.apache.commons.dbutils.handlers.KeyedHandler;???
import?org.apache.commons.dbutils.handlers.MapHandler;???
import?org.apache.commons.dbutils.handlers.MapListHandler;???
import?org.apache.commons.dbutils.handlers.ScalarHandler;???
??
public?class?test?{???
?@SuppressWarnings("unchecked")???
?public?static?void?main(String[]?args)?throws?ClassNotFoundException?{???
??
??UserField?userField?=?new?UserField();???
??
??Connection?conn?=?null;???
??String?jdbcURL?=?"jdbc:mysql://localhost:3306/macaw4";???
??String?jdbcDriver?=?"com.mysql.jdbc.Driver";???
??try?{???
???DbUtils.loadDriver(jdbcDriver);???
???conn?=?DriverManager.getConnection(jdbcURL,?"root",?"root");???
???conn.setAutoCommit(false);//关闭自动提交???
???QueryRunner?qRunner?=?new?QueryRunner();???
??
???//?以下部分代码采用MapHandler存储方式查询???
???System.out.println("***Using?MapHandler***");???
???Map?map?=?(Map)?qRunner.query(conn,???
?????"select?*?from?mc_user_field?where?id?=??",???
?????new?MapHandler(),?new?Object[]?{?"5"?});???
??
???System.out.println("id?-------------?name?");???
???System.out.println(map.get("id")?+?"??-------------?"??
?????+?map.get("name"));???
??
???//?以下部分代码采用MapListHandler存储方式查询???
???System.out.println("***Using?MapListHandler***");???
???List?lMap?=?(List)?qRunner.query(conn,???
?????"select?*?from?mc_user_field",?new?MapListHandler());???
??
???System.out.println("id?-------------?name?");???
???for?(int?i?=?0;?i?<?lMap.size();?i++)?{???
????Map?vals?=?(Map)?lMap.get(i);???
????System.out.println(vals.get("id")?+?"??-------------?"??
??????+?vals.get("name"));???
???}???
??
???//?以下部分代码采用BeanHandler存储方式查询???
???System.out.println("***Using?BeanHandler***");???
???userField?=?(UserField)?qRunner.query(conn,???
?????"select?*?from?mc_user_field?where?id?=??",???
?????new?BeanHandler(Class.forName("cn.lining.test.UserField")),???
?????new?Object[]?{?"5"?});???
???System.out.println("id?-------------?name?");???
???System.out.println(userField.getId()?+?"??-------------?"??
?????+?userField.getName());???
??
???//?以下部分代码采用BeanListHandler存储方式查询???
???System.out.println("***Using?BeanListHandler***");???
???List?lBean?=?(List)?qRunner.query(conn,???
?????"select?*?from?mc_user_field",?new?BeanListHandler(Class???
???????.forName("cn.lining.test.UserField")));???
???System.out.println("id?-------------?name?");???
???for?(int?i?=?0;?i?<?lBean.size();?i++)?{???
????userField?=?(UserField)?lBean.get(i);???
????System.out.println(userField.getId()?+?"??-------------?"??
??????+?userField.getName());???
???}???
??
???//?以下部分代码采用ArrayHandler存储方式查询???
???System.out.println("***Using?ArrayHandler***");???
???Object[]?array?=?(Object[])?qRunner.query(conn,???
?????"select?*?from?mc_user_field?where?id?=??",???
?????new?ArrayHandler(),?new?Object[]?{?"5"?});???
??
???System.out.println("id?-------------?name?");???
???System.out.println(array[0].toString()?+?"??-------------?"??
?????+?array[1].toString());???
??
???//?以下部分代码采用ArrayListHandler存储方式查询???
???System.out.println("***Using?ArrayListHandler***");???
???List?lArray?=?(List)?qRunner.query(conn,???
?????"select?*?from?mc_user_field",?new?ArrayListHandler());???
???System.out.println("id?-------------?name?");???
???for?(int?i?=?0;?i?<?lArray.size();?i++)?{???
????Object[]?var?=?(Object[])?lArray.get(i);???
????System.out.println(var[0].toString()?+?"??-------------?"??
??????+?var[1].toString());???
???}???
??
???//?以下部分代码采用ColumnListHandler存储方式查询指定列???
???System.out.println("***Using?ColumnListHandler***");???
???List?lName?=?(List)?qRunner.query(conn,???
?????"select?*?from?mc_user_field?where?id?=??",???
?????new?ColumnListHandler("name"),?new?Object[]?{?"5"?});???
???System.out.println("name?");???
???for?(int?i?=?0;?i?<?lName.size();?i++)?{???
????String?name?=?(String)?lName.get(i);???
????System.out.println(name);???
???}???
??
???//?以下部分代码采用ScalarHandler存储方式查询???
???System.out.println("***Using?ScalarHandler***");???
???String?name?=?(String)?qRunner.query(conn,???
?????"select?*?from?mc_user_field?where?id?=??",???
?????new?ScalarHandler("name"),?new?Object[]?{?"5"?});???
??
???System.out.println("name?");???
???System.out.println(name);???
??
???//?以下部分代码采用KeyedHandler存储方式查询???
???System.out.println("***Using?KeyedHandler***");???
???Map<String,?Map>?map2?=?(Map<String,?Map>)?qRunner.query(conn,???
?????"select?*?from?mc_user_field",?new?KeyedHandler("name"));???
??
???System.out.println("name:?field_name2");???
???Map?vals?=?(Map)?map2.get("field_name2");???
???System.out.println(vals.get("id")?+?"??"?+?vals.get("name")?+?"??"??
?????+?vals.get("type"));???
??
???//?以下部分代码插入一条数据???
???System.out.println("***Insert?begin***");???
???userField?=?new?UserField();???
???qRunner.update(conn,?"insert?into?mc_user_field?("??
?????+?"id,name,type,sort_order,required,visible)"??
?????+?"values?(?,?,?,?,?,?)",?new?Object[]?{?userField.getId(),???
?????userField.getName(),?userField.getType(),???
?????userField.getSort_order(),?userField.getRequired(),???
?????userField.getVisible()?});???
???System.out.println("***update?end***");???
??
???//?以下部分代码更新一条数据???
???System.out.println("***update?begin***");???
???userField?=?new?UserField();???
???qRunner.update(conn,?"update?mc_user_field?set?"??
?????+?"name?=??,type?=??,sort_order?=??,"??
?????+?"required?=??,visible?=??"?+?"where?id?=??",???
?????new?Object[]?{?userField.getName(),?userField.getType(),???
???????userField.getSort_order(),?userField.getRequired(),???
???????userField.getVisible(),?userField.getId()?});???
???System.out.println("***update?end***");???
??
???//?以下部分代码删除一条数据???
???System.out.println("***delete?begin***");???
???userField?=?new?UserField();???
???qRunner.update(conn,?"delete?from?mc_user_field?where?id2?=??",???
?????new?Object[]?{?userField.getId()?});???
???System.out.println("***delete?end***");???
??
??}?catch?(SQLException?ex)?{???
???ex.printStackTrace();???
???try?{???
????System.out.println("***rollback?begin***");???
????DbUtils.rollback(conn);???
????System.out.println("***rollback?end***");???
???}?catch?(SQLException?e)?{???
????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。

  • 注:本文转自http://seara520.blog.163.com/blog/static/1681276982010616114728453/

  • 热点排行