【Mybatis】(三)SQL映射文件

SQL映射的XML文件

  • MyBatis 真正的强大在于映射语句,专注于SQL,功能强大,SQL映射的配置却是相当简单
  • SQL映射文件的几个顶级元素(按照定义的顺序)
mapper – namespace
cache – 配置给定命名空间的缓存
cache-ref – 从其他命名空间引用缓存配置
resultMap –用来描述数据库结果集和对象的对应关系
sql – 可以重用的SQL块,也可以被其他语句引用
insert – 映射插入语句
update – 映射更新语句
delete – 映射删除语句
select – 映射查询语句

mapper

namespace:命名空间

  • namespace和子元素的id联合保证唯一,区别不同的mapper
  • 绑定DAO接口
    • namespace的命名必须跟某个接口同名
    • 接口中的方法与映射文件中SQL语句id一一对应

select

  • select是MyBatis中最常用的元素之一
  • select语句有很多属性可以详细配置每一条语句
id
命名空间中唯一的标识符
接口中的方法与映射文件中的SQL语句id一一对应

parameterType
传入SQL语句的参数类型

resultType
SQL语句返回值类型的完整类名或别名

parameterType

基础数据类型
int、String、Date等
只能传入一个,通过#{参数名}即可获取传入的值

复杂数据类型
Java实体类、Map等
通过#{属性名}或者#{map的keyName}即可获取传入值

resultMap

在这里插入图片描述
resultType :直接表示返回类型

  • 基本数据类型
  • 复杂数据类型

resultMap :对外部resultMap的引用
应用场景:

  • 数据库字段信息与对象属性不一致
  • 复杂的联合查询,自由控制映射结果

二者不能同时存在,本质上都是Map数据结构

select 小结

在这里插入图片描述

insert

insert

  • id
  • parameterType

在这里插入图片描述
在这里插入图片描述

update

在这里插入图片描述
注意:超过3个以上的参数最好封装成对象入参,参数固定的业务方法,最好使用多参数入参。

delete

在这里插入图片描述

resultMap

resultMap属性

  • id:resultMap的唯一标识
  • type:Java实体类

resultMap子元素

  • id:一般对应数据库中该行的主键id,设置此项可提高MyBatis性能
  • result:映射到JavaBean的某个“简单类型”属性
  • association:映射到JavaBean的某个“复杂类型”属性,比如JavaBean类
  • collection:映射到JavaBean的某个“复杂类型”属性,比如集合

association

在这里插入图片描述

collection

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值