B站视频链接:黑马程序员Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)(第2版)_哔哩哔哩_bilibili
目录
e.g. 在接口文件 UserMapper.java 中有方法 updateUser(User user),则在映射文件 UserMapper.xml 中才能有 update 标签的 id 为该方法:
在测试类中 UserMapperTest.java :
Test文件举例:
@Before 指的是在单元测试之前执行
工具类的封装
由于sqlSessionFactory只需要构建一次,故在工具类中通过静态代码块来构建sqlSessionFactory:
MyBatis映射文件常用元素
mapper
namespace属性:
select
常用属性:
insert
主键自增后回显的设置(使用支持主键自增的数据库获取主键值):
使用不支持主键自增的数据库获取主键值:
根据上一次插入的主键自增:
自定义主键值:
sql元素
应用举例:
- 定义 <sql> 标签中的内容:需要定义id
- 在需要引用sql元素内容的地方使用 <include> 标签:refid为sql的id,如果要传参,则在include标签内部内嵌 <property> 标签动态传参传参,用 name (参数名)和 value (参数值)标明
resultMap
表中列属性与类中属性不一致时候使用 resultMap 标签
- 关于主键的映射,用 <id> 标签,其他的映射用 <result>
- property 对应类中属性名,column 对应表中列名
- 在执行其他语句时候,结果集的映射要用 resultMap 而不是 resultType
- 最后!!!在核心配置文件中引入该映射文件时,因为不是默认方式映射,不是接口式开发,只能用 resource 属性: