在使用MyBatis-Plus开发过程中,不可避免的会出现有些略复杂的查询,需要熟练使用MyBatis-Plus来实现这些功能。
使用and、or
需求背景
列表搜索页,根据某个字段名称进行查询,后端存储的数据表中是包含了有效数据和无效数据,即查询的时候要在有效数据中查询,且字段名称范围编码和中文名称,就要用或
来查询。
直接写SQL就是这么写
select * from test from data_status = 0 and (name='测试' or code='CS')
然后使用MyBatis-Plus来写的话,要避免以下这种写法
QueryWrapper<TestEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("data_status",1)
.like("name","测试")
.or()
.like("name","CS");
上述写法的SQL语句是
select * from test from data_status = 0 and name='测试' or code='CS'
这样就是错的了,跟预期不符,需要注意
正确的写法应该是!
正确的写法应该是!
正确的写法应该是!