在mybatis我们在写查询语句时,如果有多个查询条件一般都会先写个1=1,以避免查询条件为空时报错,mybatis使用Example时可以这样写:
Example example = new Example(CourseElementTask.class);
Example.Criteria criteria = example.createCriteria();
criteria.andCondition("1=1")
.andEqualTo("id", po.getId())
.andEqualTo("elementId", po.getElementId())
.andEqualTo("status", StatusEnum.EFFECTIVE.getId());
if(Objects.nonNull(po.getName()) && !StringUtils.isEmpty(po.getName())){
example.and().andLike("name","%"+po.getName()+"%");
}
example.orderBy("id").desc();
可以看出在这里是可以通过andCondition来自定义自己的sql的
————————————————
版权声明:本文为优快云博主「一颗向上的草莓」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/u014532775/article/details/90438729