MyBatis 的常用注解

image.png
不用写映射文件了,但是核心配置文件还是得写的!

注解完成 MyBatis 的简单增删改查

image.png
image.png

MyBatis 的注解实现复杂映射开发

image.png
image.png

1. 一对一注解查询

需求:查询当前订单属于哪个用户:
image.png

实现方式一:联表查

image.png

实现方式二:分表查(用这个,符合外键思维)

前提是用户表要有一个根据 id 查询出用户信息的方法。
image.png
这样就可以表与表分开查,实现单表查询,思维上也比较好理解,啊嘞!单表查询?那不就是 MyBatis-Plugs 的设计初衷嘛:简化单表查询的操作。

2. 一对多查询

需求:查找一个用户有多少订单:
image.png
使用分表的查询:
前提是订单映射接口中要有一个根据用户 id 也就是 uid 查询到订单的方法:
image.png
image.png
成功查询:
image.png

3. 多对多查询

多对多和一对多的区别是多了一张关系表
image.png
image.png
image.png
前提要在角色映射表中要有一个根据用户 id 查询出所以角色的方法:
image.png
最后在用户映射类对应方法上写上注解就成了:
image.png
测试成功:
image.png

心得

  • 一对多、多对多的注解查询就用分表查询的思想!首先查出第一张表,再根据查询出的第一张表的数据(一般是主键 id )去查另外一张表!
    • 并且查第一张表的数据的 SQL 语句都是slect * from XXX!简单,好懂!