Mybatis进阶

本文详细探讨了Mybatis中字段名与成员名不一致的情况,介绍了ResultMap的作用,包括解决字段名与变量名不一致的问题以及实现一对多、多对多查询。进一步讲解了动态标签如if、where、forEach的使用,动态SQL在高级搜索功能中的应用。最后,文章深入讨论了Mybatis的关联查询,包括一对一和一对多的查询实现,以及各种查询结果的封装方式。
摘要由CSDN通过智能技术生成

本文衔接上一文《Mybatis入门》,如果看不懂本文,建议先去看本人的上一篇《Mybatis入门》链接为:https://blog.csdn.net/BingTaiLi/article/details/108801491
上一篇文章说实体类(也就是bean包底下的类)的成员名需要与对应表的字段名一致。本文我们就从这说起。

字段名和成员名不一致

  1. 为什么id属性能被Mybatis赋值?
    • 底层使用id生成setId
    • 使用反射调用setId方法,setId(10)方法内完成赋值id=10
  2. 为什么user_id属性能被Mybatis赋值?
    • 底层使用user_id生成setUser_id
    • 使用反射调用setUser_id方法,类中只有setUserId
  3. 所以为什么强调表与类的对应关系?
    • 字段名和成员名要一致

ResultMap

  1. ResultMap有什么用?
    建立查询字段与实体类成员变量的映射关系
    • 字段名与变量名不一致,可以赋值
    • 实现一对多,多对多查询
  2. ResultMap标签映射关系,resultMap使用

动态标签

  1. 动态标签是什么?
    由于Mybatis将sql与java代码分离(sql写在xml中)
    if标签,where标签,forEach标签
  2. 动态标签有什么用
    用来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值