您好,欢迎来到尔游网。
搜索
您的当前位置:首页DbUtils入门实例

DbUtils入门实例

来源:尔游网


Dbutis

编辑 | 删除 | 权限设置 | 更多▼ 更多▲

设置置顶  推荐日志  转为私密日志

我不怕 发表于2010年06月01日 13:33 阅读(0) 评论(0) 分类: 个人日记 权限: 仅自己可见

1. package cn.lining.test; 2.

3. import java.sql.Connection; 4. import java.sql.DriverManager; 5. import java.sql.SQLException; 6. import java.util.List; 7. import java.util.Map; 8.

9. import org.apache.commons.dbutils.DbUtils; 10.import org.apache.commons.dbutils.QueryRunner;

11.import org.apache.commons.dbutils.handlers.ArrayHandler; 12.import org.apache.commons.dbutils.handlers.ArrayListHandler; 13.import org.apache.commons.dbutils.handlers.BeanHandler;

14.import org.apache.commons.dbutils.handlers.BeanListHandler; 15.import org.apache.commons.dbutils.handlers.ColumnListHandler;

16.import org.apache.commons.dbutils.handlers.KeyedHandler; 17.import org.apache.commons.dbutils.handlers.MapHandler;

18.import org.apache.commons.dbutils.handlers.MapListHandler; 19.import org.apache.commons.dbutils.handlers.ScalarHandler; 20.

21.public class test {

22. @SuppressWarnings(\"unchecked\")

23. public static void main(String[] args) throws ClassNotFoundException { 24.

25. UserField userField = new UserField(); 26.

27. Connection conn = null;

28. String jdbcURL = \"jdbc:mysql://localhost:3306/macaw4\";

29. String jdbcDriver = \"com.mysql.jdbc.Driver\"; 30. try {

31. DbUtils.loadDriver(jdbcDriver);

32. conn = DriverManager.getConnection(jdbcURL, \"root\", \"root\");

33. conn.setAutoCommit(false);//关闭自动提交 34. QueryRunner qRunner = new QueryRunner(); 35.

36. // 以下部分代码采用MapHandler存储方式查询 37. System.out.println(\"***Using MapHandler***\"); 38. Map map = (Map) qRunner.query(conn,

39. \"select * from mc_user_field where id = ?\", 40. new MapHandler(), new Object[] { \"5\" }); 41.

42. System.out.println(\"id ------------- name \");

43. System.out.println(map.get(\"id\") + \" ------------- \" 44. + map.get(\"name\")); 45.

46. // 以下部分代码采用MapListHandler存储方式查询 47. System.out.println(\"***Using MapListHandler***\"); 48. List lMap = (List) qRunner.query(conn,

49. \"select * from mc_user_field\", new MapListHandler()); 50.

51. System.out.println(\"id ------------- name \"); 52. for (int i = 0; i < lMap.size(); i++) { 53. Map vals = (Map) lMap.get(i);

54. System.out.println(vals.get(\"id\") + \" ------------- \" 55. + vals.get(\"name\")); 56. } 57.

58. // 以下部分代码采用BeanHandler存储方式查询 59. System.out.println(\"***Using BeanHandler***\"); 60. userField = (UserField) qRunner.query(conn, 61. \"select * from mc_user_field where id = ?\",

62. new BeanHandler(Class.forName(\"cn.lining.test.UserField\")),

63. new Object[] { \"5\" });

. System.out.println(\"id ------------- name \");

65. System.out.println(userField.getId() + \" ------------- \" 66. + userField.getName()); 67.

68. // 以下部分代码采用BeanListHandler存储方式查询 69. System.out.println(\"***Using BeanListHandler***\"); 70. List lBean = (List) qRunner.query(conn,

71. \"select * from mc_user_field\", new BeanListHandler(Class

72. .forName(\"cn.lining.test.UserField\"))); 73. System.out.println(\"id ------------- name \"); 74. for (int i = 0; i < lBean.size(); i++) { 75. userField = (UserField) lBean.get(i);

76. System.out.println(userField.getId() + \" ------------- \" 77. + userField.getName()); 78. } 79.

80. // 以下部分代码采用ArrayHandler存储方式查询 81. System.out.println(\"***Using ArrayHandler***\"); 82. Object[] array = (Object[]) qRunner.query(conn, 83. \"select * from mc_user_field where id = ?\", 84. new ArrayHandler(), new Object[] { \"5\" }); 85.

86. System.out.println(\"id ------------- name \");

87. System.out.println(array[0].toString() + \" ------------- \"

88. + array[1].toString()); .

90. // 以下部分代码采用ArrayListHandler存储方式查询 91. System.out.println(\"***Using ArrayListHandler***\"); 92. List lArray = (List) qRunner.query(conn,

93. \"select * from mc_user_field\", new ArrayListHandler()); 94. System.out.println(\"id ------------- name \"); 95. for (int i = 0; i < lArray.size(); i++) { 96. Object[] var = (Object[]) lArray.get(i);

97. System.out.println(var[0].toString() + \" ------------- \" 98. + var[1].toString()); 99. } 100.

101. // 以下部分代码采用ColumnListHandler存储方式查询指定列

102. System.out.println(\"***Using ColumnListHandler***\"); 103. List lName = (List) qRunner.query(conn,

104. \"select * from mc_user_field where id = ?\",

105. new ColumnListHandler(\"name\"), new Object[] { \"5\" });

106. System.out.println(\"name \");

107. for (int i = 0; i < lName.size(); i++) { 108. String name = (String) lName.get(i); 109. System.out.println(name); 110. }

111.

112. // 以下部分代码采用ScalarHandler存储方式查询 113. System.out.println(\"***Using ScalarHandler***\"); 114. String name = (String) qRunner.query(conn, 115. \"select * from mc_user_field where id = ?\",

116. new ScalarHandler(\"name\"), new Object[] { \"5\" }); 117.

118. System.out.println(\"name \"); 119. System.out.println(name); 120.

121. // 以下部分代码采用KeyedHandler存储方式查询 122. System.out.println(\"***Using KeyedHandler***\"); 123. Map map2 = (Map) qRunner.query(conn,

124. \"select * from mc_user_field\", new KeyedHandler(\"name\")); 125.

126. System.out.println(\"name: field_name2\"); 127. Map vals = (Map) map2.get(\"field_name2\");

128. System.out.println(vals.get(\"id\") + \" \" + vals.get(\"name\") + \" \"

129. + vals.get(\"type\")); 130.

131. // 以下部分代码插入一条数据

132. System.out.println(\"***Insert begin***\"); 133. userField = new UserField();

134. qRunner.update(conn, \"insert into mc_user_field (\" 135. + \"id,name,type,sort_order,required,visible)\"

136. + \"values (?,?,?,?,?,?)\", new Object[] { userField.getId(),

137. userField.getName(), userField.getType(),

138. userField.getSort_order(), userField.getRequired(),

139. userField.getVisible() });

140. System.out.println(\"***update end***\"); 141.

142. // 以下部分代码更新一条数据

143. System.out.println(\"***update begin***\"); 144. userField = new UserField();

145. qRunner.update(conn, \"update mc_user_field set \" 146. + \"name = ?,type = ?,sort_order = ?,\"

147. + \"required = ?,visible = ?\" + \"where id = ?\", 148. new Object[] { userField.getName(), userField.getType(),

149. userField.getSort_order(), userField.getRequired(),

150. userField.getVisible(), userField.getId() }); 151. System.out.println(\"***update end***\"); 152.

153. // 以下部分代码删除一条数据

154. System.out.println(\"***delete begin***\"); 155. userField = new UserField();

156. qRunner.update(conn, \"delete from mc_user_field where id2 = ?\",

157. new Object[] { userField.getId() }); 158. System.out.println(\"***delete end***\"); 159.

160. } catch (SQLException ex) { 161. ex.printStackTrace(); 162. try {

163. System.out.println(\"***rollback begin***\"); 1. DbUtils.rollback(conn);

165. System.out.println(\"***rollback end***\"); 166. } catch (SQLException e) { 167. e.printStackTrace(); 168. }

169. } finally {

170. DbUtils.closeQuietly(conn); 171. } 172. 173. } 174. }

 ArrayHandler:把结果集中的第一行数据转成对象数组。

 ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。  BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。  BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。

 ColumnListHandler:将结果集中某一列的数据存放到List中。

 KeyedHandler:将结果集中的每一行数据都封装到一个Map里,然后再根据指定的key把每个Map再存放到一个Map里。  MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。

 MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List。

 ScalarHandler:将结果集中某一条记录的其中某一列的数据存成Object。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- axer.cn 版权所有 湘ICP备2023022495号-12

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务