MyBatis-Plus如何实现连表查询(mybatis-plus,开发技术)

时间:2024-04-28 17:26:36 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    MyBatis-Plus%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E8%BF%9E%E8%A1%A8%E6%9F%A5%E8%AF%A2

在项目中添加依赖

或者clone代码到本地,执行mvn install,再引入以上依赖

注意: mybatis plus version >= 3.4.0

mapper继承MPJBaseMapper (必选)

service继承MPJBaseService (可选)

serviceImpl继承MPJBaseServiceImpl (可选)

MPJLambdaWrapper示例

简单的3表查询

对应sql

说明:

UserDTO.class 查询结果返回类(resultType)

selectAll() 查询指定实体类的全部字段

select() 查询指定的字段,支持可变参数,同一个select只能查询相同表的字段

故将UserAddressDO和AreaDO分开为两个select()

selectAs() 字段别名查询,用于数据库字段与业务实体类属性名不一致时使用

leftJoin() 参数说明

第一个参数: 参与连表的实体类class

第二个参数: 连表的ON字段,这个属性必须是第一个参数实体类的属性

第三个参数: 参与连表的ON的另一个实体类属性

默认主表别名是t,其他的表别名以先后调用的顺序使用t1,t2,t3…

条件查询,可以查询主表以及参与连接的所有表的字段,全部调用mp原生的方法,正常使用没有sql注入风险

分页查询

对应sql

简单的3表查询

对应sql

说明:

UserDTO.class 查询结果类(resultType)

selectAll(UserDO.class) 查询主表全部字段(主表实体类)默认主表别名 “t”

select() mp的select策略是覆盖,以最后一次为准,这里的策略是追加,可以一直select

主表字段可以用lambda,会自动添加表别名,主表别名默认是 t ,非主表字段必须带别名查询

leftJoin() rightJoin() innerJoin() 传sql片段 格式 (表 + 别名 + 关联条件)

条件查询,可以查询主表以及参与连接的所有表的字段,全部调用mp原生的方法,正常使用没有sql注入风险

分页查询

对应sql

还可以这么操作,但不建议

对应sql

本文:MyBatis-Plus如何实现连表查询的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:jspXCMS中如何实现微信公众号配置下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18