使用MyBatis的mapper接口调用时有哪些要求?Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?

使用MyBatis的mapper接口调用时有哪些要求?

1. Mapper接口方法名和mapper.xml中定义的每个sql的id相同

2.Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的 parameterType的类型相同

3.Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的 resultType的类型相同

4.Mapper.xml文件中的namespace即是mapper接口的类路径

Mybatis 动态 sql 有什么用?

可以在 Xml 映射文件内,以标签的形式编写动态 sql

Mybatis 动态 sql执行原理?

根据表达式的值完成逻辑判断并动态拼接 sql 的功能

Mybatis有哪些动态 sql?

 9 种动态 sql 标签:

trim | where | set | foreach | if | choose| when | otherwise | bind

Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?

trim | where | set | foreach | if | choose| when | otherwise | bind

通过标签引入 sql 片段,为不支持自增的主键生成策略标签

Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?

不同的 Xml 映射文件,如果配置了 namespace,那么 id 可以重复

如果没有配置 namespace,那么 id 不能重复

原因就是 namespace+id 是作为 Map的 key使用的,

如果没有 namespace,就剩下 id,id 重复会导致数据互相覆盖

有了 namespace,自然 id 就可以重复,namespace 不同,namespace+id 自然也就不同

MyBatis实现一对一、一对多有几种方式?

联合查询嵌套查询

MyBatis实现一对一具体怎么操作的?

联合查询是几个表联合查询,只查询一次, 通过在resultMap里面配置 association节点配置一对一的类就可以完成

嵌套查询是先查一个表,根据这个表里面结果的外键id,再另外一个表里面查询数据,也是通过association配置,但另外一个表的查询通过select属性配置

MyBatis实现一对多具体怎么操作的?

联合查询是几个表联合查询,只查询一次,通过在resultMap里面的 collection节点配置一对多的类就可以完成

嵌套查询是先查一个表,根据这个表里面结果的外键id,再另外一个表里面查询数据,也是通过配置collection,但另外一个表的查询通过select节点配置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值