一看就懂!MyBatisPlus @SELECT 中使用条件构造器Wrapper

当自定义@SELECT语句后,直接传wrapper到方法上就行不通了

List list = articleDao.queryList(page,queryWrapper);


@Select("SELECT\n" +
            "\tarticle.*, category. NAME category_name\n" +
            "FROM\n" +
            "\tarticle\n" +
            "LEFT JOIN category ON article.category_id = category.category_id\n" )
    List queryList(Page page, QueryWrapper wrapper);

这时候查阅MybatisPlus官方文档,发现了一个新方法

@Select("select * from mysql_data ${ew.customSqlSegment}")
List getAll(@Param(Constants.WRAPPER) Wrapper wrapper);

只需添加  ${ew.customSqlSegment}和@Param(Constants.WRAPPER)即可

改造例子后

List list = articleDao.queryList(page,queryWrapper);


@Select("SELECT\n" +
            "\tarticle.*, category. NAME category_name\n" +
            "FROM\n" +
            "\tarticle\n" +
            "LEFT JOIN category ON article.category_id = category.category_id\n" +
            "${ew.customSqlSegment} ")
List queryList(Page page,@Param(Constants.WRAPPER) QueryWrapper wrapper);

即可进行条件查询,减少了手动传参的复杂度和冗余度


有什么问题可以评论或者私信我,每日在线解(LIAO)疑(SAO)。

我是大誌,一位准备996的卑微码农,觉得好用记得点赞收藏!!!

你可能感兴趣的:(技术干货)