ToB企服应用市场:ToB评测及商务社交产业平台

标题: MyBatis快速上手与知识点总结 [打印本页]

作者: 勿忘初心做自己    时间: 2022-9-16 17:23
标题: MyBatis快速上手与知识点总结
目录

阅读提示:
本文默认已经预装预装maven
1、MyBatis概述

1.1  MyBatis概述

1.2  JDBC缺点

1.3  MyBatis优化

2、MyBatis快速入门

3、Mapper代理开发

3.1  Mapper代理开发概述

解决形如上述测试类中List users = sqlSession.selectList("test.selectAll");的硬编码问题

3.2  使用Mapper代理要求

3.3  案例代码实现

4、核心配置文件

4.1  多环境配置

在核心配置文件的 environments 标签中其实是可以配置多个 environment ,使用 id 给每段环境起名,在 environments 中使用 default='环境id' 来指定使用哪儿段配置。我们一般就配置一个 environment 即可
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. <mappers>
  4.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  5. </mappers><mappers>
  6.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  7. </mappers>PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  8. <mappers>
  9.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  10. </mappers><mappers>
  11.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  12. </mappers>"http://mybatis.org/dtd/mybatis-3-config.dtd">
  13. <configuration>
  14. <mappers>
  15.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  16. </mappers><environments default="development">
  17. <mappers>
  18.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  19. </mappers><mappers>
  20.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  21. </mappers><environment id="development">
  22. <mappers>
  23.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  24. </mappers><mappers>
  25.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  26. </mappers><mappers>
  27.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  28. </mappers>
  29. <mappers>
  30.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  31. </mappers><mappers>
  32.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  33. </mappers><mappers>
  34.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  35. </mappers><transactionManager type="JDBC"/>
  36. <mappers>
  37.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  38. </mappers><mappers>
  39.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  40. </mappers><mappers>
  41.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  42. </mappers>
  43. <mappers>
  44.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  45. </mappers><mappers>
  46.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  47. </mappers><mappers>
  48.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  49. </mappers><dataSource type="POOLED">
  50. <mappers>
  51.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  52. </mappers><mappers>
  53.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  54. </mappers><mappers>
  55.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  56. </mappers><mappers>
  57.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  58. </mappers><property name="driver" value="com.mysql.jdbc.Driver"/>
  59. <mappers>
  60.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  61. </mappers><mappers>
  62.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  63. </mappers><mappers>
  64.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  65. </mappers><mappers>
  66.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  67. </mappers><property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
  68. <mappers>
  69.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  70. </mappers><mappers>
  71.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  72. </mappers><mappers>
  73.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  74. </mappers><mappers>
  75.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  76. </mappers><property name="username" value="root"/>
  77. <mappers>
  78.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  79. </mappers><mappers>
  80.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  81. </mappers><mappers>
  82.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  83. </mappers><mappers>
  84.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  85. </mappers><property name="password" value="123456"/>
  86. <mappers>
  87.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  88. </mappers><mappers>
  89.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  90. </mappers><mappers>
  91.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  92. </mappers></dataSource>
  93. <mappers>
  94.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  95. </mappers><mappers>
  96.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  97. </mappers></environment>
  98. <mappers>
  99.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  100. </mappers></environments>
  101. <mappers>
  102.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  103. </mappers>
  104. <mappers>
  105.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  106. </mappers><mappers>
  107. <mappers>
  108.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  109. </mappers><mappers>
  110.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  111. </mappers><mapper resource="UserMapper.xml"/>
  112. <mappers>
  113.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  114. </mappers></mappers>
  115. </configuration><?xml version="1.0" encoding="UTF-8" ?>
  116. <!DOCTYPE configuration
  117. <mappers>
  118.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  119. </mappers><mappers>
  120.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  121. </mappers>PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  122. <mappers>
  123.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  124. </mappers><mappers>
  125.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  126. </mappers>"http://mybatis.org/dtd/mybatis-3-config.dtd">
  127. <configuration>
  128. <mappers>
  129.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  130. </mappers><environments default="development">
  131. <mappers>
  132.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  133. </mappers><mappers>
  134.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  135. </mappers><environment id="development">
  136. <mappers>
  137.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  138. </mappers><mappers>
  139.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  140. </mappers><mappers>
  141.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  142. </mappers>
  143. <mappers>
  144.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  145. </mappers><mappers>
  146.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  147. </mappers><mappers>
  148.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  149. </mappers><transactionManager type="JDBC"/>
  150. <mappers>
  151.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  152. </mappers><mappers>
  153.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  154. </mappers><mappers>
  155.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  156. </mappers>
  157. <mappers>
  158.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  159. </mappers><mappers>
  160.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  161. </mappers><mappers>
  162.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  163. </mappers><dataSource type="POOLED">
  164. <mappers>
  165.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  166. </mappers><mappers>
  167.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  168. </mappers><mappers>
  169.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  170. </mappers><mappers>
  171.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  172. </mappers><property name="driver" value="com.mysql.jdbc.Driver"/>
  173. <mappers>
  174.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  175. </mappers><mappers>
  176.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  177. </mappers><mappers>
  178.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  179. </mappers><mappers>
  180.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  181. </mappers><property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
  182. <mappers>
  183.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  184. </mappers><mappers>
  185.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  186. </mappers><mappers>
  187.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  188. </mappers><mappers>
  189.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  190. </mappers><property name="username" value="root"/>
  191. <mappers>
  192.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  193. </mappers><mappers>
  194.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  195. </mappers><mappers>
  196.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  197. </mappers><mappers>
  198.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  199. </mappers><property name="password" value="123456"/>
  200. <mappers>
  201.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  202. </mappers><mappers>
  203.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  204. </mappers><mappers>
  205.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  206. </mappers></dataSource>
  207. <mappers>
  208.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  209. </mappers><mappers>
  210.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  211. </mappers></environment>
  212. <mappers>
  213.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  214. </mappers></environments>
  215. <mappers>
  216.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  217. </mappers>
  218. <mappers>
  219.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  220. </mappers><mappers>
  221. <mappers>
  222.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  223. </mappers><mappers>
  224.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  225. </mappers><mapper resource="UserMapper.xml"/>
  226. <mappers>
  227.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  228. </mappers></mappers>
  229. </configuration>
复制代码
4.2  类型别名

映射配置文件中的resultType属性需要配置数据封装的类型(类的全限定名),繁琐
Mybatis 提供了 类型别名(typeAliases) 可以简化这部分的书写
  1. <mappers>
  2.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  3. </mappers><mappers>
  4.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  5. </mappers><mappers>
  6.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  7. </mappers><mappers>
  8.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  9. </mappers><mappers>
  10.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  11. </mappers>
复制代码
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. <mappers>
  4.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  5. </mappers><mappers>
  6.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  7. </mappers>PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  8. <mappers>
  9.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  10. </mappers><mappers>
  11.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  12. </mappers>"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  13. <mapper namespace="test">
  14. <mappers>
  15.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  16. </mappers>
  17. <mappers>
  18.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  19. </mappers><select id="selectAll" resultType="priv.dandelion.entity.User">
  20. <mappers>
  21.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  22. </mappers><mappers>
  23.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  24. </mappers>select * from tb_user;
  25. <mappers>
  26.     <mapper resource="priv/dandelion/mapper/UserMapper.xml"/>
  27. </mappers></select>
  28. </mapper>
复制代码
5、配置文件实现CRUD

5.1 环境准备

5.2 查询所有数据

本节要点:

5.3 查询

本节要点:

5.4 多条件查询

本节要点:

5.6 添加数据与MyBatis事务

5.7 修改

5.8 删除数据

5.9 MyBatis参数传递

6、通过注解实现CRUD


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4