JavaEE - 2 MyBatis映射文件

B站视频链接:黑马程序员Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)(第2版)_哔哩哔哩_bilibili

目录

工具类的封装

MyBatis映射文件常用元素

mapper

select

insert

sql元素

resultMap

 案例:员工管理系统


e.g. 在接口文件 UserMapper.java 中有方法 updateUser(User user),则在映射文件 UserMapper.xml 中才能有 update 标签的 id 为该方法:

在测试类中 UserMapperTest.java :

JavaEE - 2 MyBatis映射文件_第1张图片 

Test文件举例:

JavaEE - 2 MyBatis映射文件_第2张图片

 

JavaEE - 2 MyBatis映射文件_第3张图片

@Before 指的是在单元测试之前执行

JavaEE - 2 MyBatis映射文件_第4张图片

工具类的封装

由于sqlSessionFactory只需要构建一次,故在工具类中通过静态代码块来构建sqlSessionFactory:

 

MyBatis映射文件常用元素

JavaEE - 2 MyBatis映射文件_第5张图片

JavaEE - 2 MyBatis映射文件_第6张图片

 

mapper

namespace属性:

JavaEE - 2 MyBatis映射文件_第7张图片

select

常用属性:

JavaEE - 2 MyBatis映射文件_第8张图片 

 

insert

主键自增后回显的设置(使用支持主键自增的数据库获取主键值):

JavaEE - 2 MyBatis映射文件_第9张图片

 使用不支持主键自增的数据库获取主键值:

JavaEE - 2 MyBatis映射文件_第10张图片

 根据上一次插入的主键自增:JavaEE - 2 MyBatis映射文件_第11张图片

自定义主键值:

JavaEE - 2 MyBatis映射文件_第12张图片

sql元素

JavaEE - 2 MyBatis映射文件_第13张图片

 应用举例:

JavaEE - 2 MyBatis映射文件_第14张图片

  • 定义 标签中的内容:需要定义id
  • 在需要引用sql元素内容的地方使用 标签:refid为sql的id,如果要传参,则在include标签内部内嵌 标签动态传参传参,用 name (参数名)和 value (参数值)标明

resultMap

JavaEE - 2 MyBatis映射文件_第15张图片

表中列属性与类中属性不一致时候使用 resultMap 标签

JavaEE - 2 MyBatis映射文件_第16张图片

  •  关于主键的映射,用 标签,其他的映射用
  • property 对应类中属性名,column 对应表中列名
  • 在执行其他语句时候,结果集的映射要用 resultMap 而不是 resultType
  • 最后!!!在核心配置文件中引入该映射文件时,因为不是默认方式映射,不是接口式开发,只能用 resource 属性:

JavaEE - 2 MyBatis映射文件_第17张图片

 案例:员工管理系统

2017 案例:员工管理系统_哔哩哔哩_bilibili

你可能感兴趣的:(JavaEE,mybatis,java-ee,java)