mybaties-plus使用QueryWrapper条件构造器的时候中间插入自定义sql
mybaties-plus使用QueryWrapper条件构造器的时候中间插入自定义sql
·
mybaties-plus 挺好用的,特别是单表查询的时候,一个 QueryWrapper 条件构造器就能解决大部分问题,而只有比较复杂的查询或者连表查询的时候才需要去 mapper 层写 sql。但是 QueryWrapper 也有局限性,之前使用的时候,我想在构造器中使用自定义的sql,想在中间插入比较特殊的条件,比如 case 语句,我使用的是 postgre,开始请教了同事他们都说要到 mapper 层去写 sql,但是我不想,毕竟是单表查询,所以我摸索了很久发现可以这样使用。
QueryWrapper<实体类> wqw = new QueryWrapper<>();
// 构造其他条件
...
// 插入自定义 sql
wqw.and(w -> {
w.last(" case when status = '1' then in_checkpoint = " + departId + " when status = '2' then out_checkpoint = " + departId + " end ");
});
(这只是一个列子)
更多推荐
所有评论(0)