多表查询mybatis-plus
时间: 2023-09-30 15:02:31 浏览: 96
通过使用 MyBatisPlus 进行多表查询,可以使用原生的 MyBatis 方法来实现。在 Dao 层中,可以使用注解形式或 XML 形式编写 SQL 语句来实现连表查询。
对于注解形式,可以在 Dao 接口的方法上使用 @Select 注解,并在 SQL 语句中使用连表查询的语法,比如使用 left join 连接两个表。同时,可以使用 QueryWrapper 来构建查询条件,通过 ${ew.sqlSegment} 获取 QueryWrapper 的条件 SQL 语句。需要注意的是,别名只能叫 ew。
示例代码如下所示:
@Select("<script>"
"select s.*,org_name from `storage` s left join org on s.org_id = org.org_id "
"<where>${ew.sqlSegment}</where>"
"</script>")
Page<Storage> frontGetData(@Param("ew") QueryWrapper ew,Page page);
对于 XML 形式,可以在 MyBatis 的 XML 配置文件中编写 SQL 语句,同样可以使用连表查询的语法,使用 <script> 标签包裹 SQL 语句,并使用 ${ew.sqlSegment} 获取 QueryWrapper 的条件 SQL 语句。
需要注意的是,MyBatisPlus 主要针对单表查询,多表查询的话,可以使用原生的 MyBatis。虽然使用 MyBatisPlus 进行多表查询可能需要写大量的 SQL,但是通过以上方法可以实现关联查询和分页查询的需求。
参考文献:
阅读全文