mybatis-plus分页查询
mybatis-plus分页查询模糊搜索
new EntityWrapper<>(userInfo).like("firstname", name).or().like("lastname", name)
且看这一句条件构造器,userInfo是需要模糊查询的表对应的model,firstname和lastname
则是需要模糊查询的字段,or()
是指两个条件或者的关系,在sql中执行的语句是:
SELECT * FROM users WHERE (firstname LIKE '%海%' OR lastname LIKE '%海%')
control
//模糊查询方法一
//模糊查询方法一
@RequestMapping(value = "/testTask", method = RequestMethod.GET)
public ResponseObj<List<UserInfo>> testTask(@RequestParam("name") String name) {
List<UserInfo> userInfos = userInfoMapper.selectList(new EntityWrapper<>(userInfo).like("firstname", name)
.or().like("lastname", name));
return new ResponseObj<>(userInfos, null);
}
这里selectList方法是mybatis-plus中的
//模糊查询方法二
这个是通过传入对象进行模糊查询
//模糊查询方法二
@RequestMapping(value = "/testTask1", method = RequestMethod.GET)
public ResponseObj<List<TimeEntries>> testTask1(@ModelAttribute UserInfo userInfo) {
List<UserInfo> list = userInfoMapper.list(new EntityWrapper<>(userInfo));
List<TimeEntries> listAll = new ArrayList<>();
if (list != null && list.size() > 0) {
for (UserInfo info : list) {
List<TimeEntries> list1 = timeEntriesMapper.list(info.getId());
listAll.addAll(list1);
}
}
System.out.println(listAll.size());
// 按userId升序、username降序、birthDate升序排序
String[] sortNameArr = {"spentOn", "fullName", "hoursSum"};
boolean[] isAscArr = {false, true, true};
ListUtils.sort(listAll, sortNameArr, isAscArr);
System.out.println("\n--------按按userId升序、username降序、birthDate升序排序(如果userId相同,则按照username降序," +
"如果username相同,则按照birthDate升序)------------------");
return new ResponseObj<>(listAll, null);
}
UserInfoMapper
@Mapper
public interface UserInfoMapper extends BaseMapper<UserInfo> {
List<UserInfo> list(@Param("ew") Wrapper<UserInfo> wrapper);
}
UserInfoMapper.xml
<select id="list" resultType="com.cicdi.servertemplate.modules.work.model.UserInfo">
SELECT
*
FROM
users
WHERE
1=1
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.name!=null">
AND CONCAT(lastname, firstname) LIKE CONCAT('%',#{ew.entity.name},'%')
</if>
</if>
<if test="ew.sqlSegment!=null">
${ew.sqlSegment}
</if>
</if>
</select>
网友评论