1、Ibatis框架学习根据传智播客ibatis视频教程编写的入门例子收藏 IUserDAOImpl.java1. packagecom.elifefly; 2. /* 3. *说明:程序是根据传智播客ibatis视频教程编写的入门例子。 4. *目的在于熟悉ibatis的基本原理和基本使用方法。 5. *因而程序并没有过多的开发成一个系统,ibatis视频教程也没有做成系统的,也没有给任何源代码。 6. * 7. *开发环境:MyEclipse6.0 8. *数据库:MySQL5.0 9. * 10. *要添加的jar包:mysql-connector-java-3.1.10-bin.jar 1
2、1. *和ibatis-2.3.3.720压缩包下的lib文件夹下的ibatis-2.3.3.720.jar 12. * 13. *测试使用,选中IUserDAOImpl.java文件,选择runasJavaApplication 14. */ 15. 16. 17. 18. 19. importjava.io.IOException; 20. importjava.io.Reader; 21. importjava.sql.SQLException; 22. importjava.util.List; 23. 24. importcom.ibatis.sqlmap.client.SqlMap
3、Client; 25. 26. publicclassIUserDAOImplimplementsIUserDAO 27. 28. 29. privatestaticSqlMapClientsqlMapClient=null; 30. 31. static 32. 33. try 34. 35. Readerreader=mon.resources.Resources.getResourceAsReader(com/elifefly/SqlMapConfig.xml); 36. sqlMapClient=com.ibatis.sqlmap.client.SqlMapClientBuilder.
4、buildSqlMapClient(reader); 37. reader.close(); 38. 39. catch(IOExceptione) 40. 41. /TODOAuto-generatedcatchblock 42. e.printStackTrace(); 43. 44. 45. 46. 47. /添加用户 48. publicvoidaddUser(Useruser) 49. 50. try 51. 52. sqlMapClient.insert(insertUser,user); 53. catch(SQLExceptione) 54. 55. /TODOAuto-gen
5、eratedcatchblock 56. e.printStackTrace(); 57. 58. 59. 60. 61. /添加用户,获取自动增长的序列号,处理添加相同的userId情况 62. publicvoidaddUserBySequence(Useruser) 63. 64. try 65. 66. sqlMapClient.insert(insertUserBySequence,user); 67. catch(SQLExceptione) 68. 69. /TODOAuto-generatedcatchblock 70. e.printStackTrace(); 71. 72.
6、 73. 74. 75. /删除用户 76. publicvoiddeleteUserById(intid) 77. 78. try 79. 80. System.out.println(sqlMapClient.delete(deleteUserById,102); 81. /如果打印出来的值大于0,说明删除成功 82. System.out.println(如果打印出来的值大于0,说明删除成功); 83. 84. catch(SQLExceptione) 85. 86. /TODOAuto-generatedcatchblock 87. e.printStackTrace(); 88. 8
7、9. 90. 91. 92. /查找所有用户 93. publicListqueryAllUser() 94. 95. ListuserList=null; 96. 97. try 98. 99. userList=sqlMapClient.queryForList(selectAllUser); 100. catch(SQLExceptione) 101. 102. /TODOAuto-generatedcatchblock 103. e.printStackTrace(); 104. 105. 106. returnuserList; 107. 108. 109. /通过id查找用户 11
8、0. publicUserqueryUserById(intid) 111. 112. Useruser=null; 113. try 114. 115. user=(User)sqlMapClient.queryForObject(selectUserById,id); 116. catch(SQLExceptione) 117. 118. /TODOAuto-generatedcatchblock 119. e.printStackTrace(); 120. 121. 122. returnuser; 123. 124. 125. /模糊查询,通过用户名查找用户 126. publicLi
9、stqueryUserByName(Stringname) 127. 128. ListuserList=null; 129. try 130. 131. userList=sqlMapClient.queryForList(selectUserByName,name); 132. 133. catch(SQLExceptione) 134. 135. /TODOAuto-generatedcatchblock 136. e.printStackTrace(); 137. 138. returnuserList; 139. 140. 141. /修改用户 142. publicvoidupda
10、teUser(Useruser2) 143. 144. try 145. 146. System.out.println(sqlMapClient.update(updateUserById,user2); 147. /如果打印出来的值大于0,说明更新成功 148. System.out.println(如果打印出来的值大于0,说明更新成功); 149. catch(SQLExceptione) 150. 151. /TODOAuto-generatedcatchblock 152. e.printStackTrace(); 153. 154. 155. 156. 157. 158. 159.
11、 160. publicstaticvoidmain(Stringargs) 161. 162. /TODOAuto-generatedmethodstub 163. IUserDAOImpliUserDAOImpl=newIUserDAOImpl(); 164. 165. /1.测试queryAllUser() 166. System.out.println(1.测试queryAllUser(); 167. for(Useruser:iUserDAOImpl.queryAllUser() 168. 169. System.out.println(user); 170. 171. 172. 1
12、73. /2.测试queryUserById(intid) 174. System.out.println(n2.测试queryUserById(intid); 175. System.out.println(iUserDAOImpl.queryUserById(1); 176. 177. /3.测试addUser(Useruser) 178. System.out.println(n3.测试addUser(Useruser); 179. Useruser=newUser(); 180. user.setUserId(102); 181. user.setUserName(elifefly);
13、 182. user.setUserPassword(123456); 183. user.setUserFlag(超级管理员); 184. 185. iUserDAOImpl.addUser(user); 186. 187. System.out.println(iUserDAOImpl.queryUserById(102); 188. 189. 190. /4.测试deleteUserById(intid) 191. System.out.println(n4.测试deleteUserById(intid); 192. iUserDAOImpl.deleteUserById(102); 1
14、93. 194. 195. 196. /5.测试updateUser(Useruser) 197. System.out.println(n5.测试updateUser(Useruser); 198. Useruser2=newUser(); 199. user2.setUserId(101); 200. user2.setUserName(myelifefly); 201. user2.setUserPassword(12345678); 202. user2.setUserFlag(超级); 203. 204. iUserDAOImpl.updateUser(user2); 205. Sy
15、stem.out.println(iUserDAOImpl.queryUserById(101); 206. 207. 208. /6.测试ListqueryUserByName(Stringname) 209. System.out.println(6.测试ListqueryUserByName(Stringname); 210. for(Useruser3:iUserDAOImpl.queryUserByName(e) 211. 212. System.out.println(user3); 213. 214. 215. 216. 217. /7.测试addUserBySequence(U
16、seruser) 218. System.out.println(n7.测试addUserBySequence(Useruser); 219. Useruser7=newUser(); 220. user7.setUserId(100); 221. user7.setUserName(good); 222. user7.setUserPassword(123456); 223. user7.setUserFlag(test); 224. 225. iUserDAOImpl.addUserBySequence(user7); 226. 227. for(Useruser8:iUserDAOImp
17、l.queryAllUser() 228. 229. System.out.println(user8); 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. SqlMapConfig.xml1. 2. 3. 6. 7. 8. 9. 10. 11. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 29. !-Listmorehere. 30. 31. 32. - 33. 34. SqlMap.properties1. driver=com.mysql.jdbc.Driver
18、 2. url=jdbc:mysql:/localhost:3306/college 3. username=root 4. password=123456User.xml1. 2. 3. 6. 7. 8. 9. 10. 11. 12. 13. select*fromuser; 14. 15. 16. 17. 18. 19. 20. select*fromuser 21. whereuserId=#userId# 22. 23. 24. 25. 26. insertintouser(userId,userName,userPassword,userFlag) 27. values(#userId#,#userName#,#userPassword#,#userFlag#); 28. 29. 30. 31. 32. 33. deletefromuser 34. whereuserId=#userId# 35. !-特别注意:这个delete中的#userId#可以