@ResponseBody
@RequestMapping("/data")
//page:当前页码 limit:每页记录数
public RespResult manageData (@RequestParam("page") int page,
@RequestParam("limit") int limit,
@RequestParam(value = "search", required = false) String search) {
Example example = new Example(Admin.class);
if (search != null) {
example.createCriteria().andLike("username", "%" + search + "%");
}
PageHelper.startPage(page, limit).setOrderBy("id desc");
PageInfo pageInfo = new PageInfo<>(adminMapper.selectByExample(example));
RespResult respResult = new RespResult();
respResult.success(pageInfo.getList(), pageInfo.getTotal());
return respResult;
}
这段代码的功能是根据搜索条件对Admin表中的数据进行模糊查询,查询条件是username字段包含搜索关键字的记录。
具体来说,它使用了MyBatis的Example类来构建查询条件,其中createCriteria()方法创建了一个查询条件对象,andLike()方法添加了一个模糊查询条件,"username"是要查询的字段名,"%" + search + "%"是模糊查询的关键字,表示搜索关键字可以出现在username字段的任意位置。最终,这个查询条件会被传递给adminMapper.selectByExample()方法,用于查询符合条件的记录。
我记得这个可以放在gpt,试着让他解释一下
如果搜索条件不为null,就需要在SQL语句中加上该条件去筛选,搜索默认都是模糊搜索的
没写example.createCriteria(); 执行selectByExample(example)查询全部
写了就相当于拼接where查询条件
1.存储数据模组:
(1)磁盘:容量大,价格低廉,操作速度慢,可以持久化(重启之后数据还是存在的)。
(2)内存:容量小,价格比较贵,操作速度快,不可持久化。
(3)cpu缓存:容量小,操作速度极快,不可以被持久化。
2.数据库中数据存储在磁盘,磁盘的顺序查询速度是很慢的,所以顺序查找指的是读取磁盘中的数据一条一条的进行查找。
查询数据存储的目录:
show variables like '%dir%';
3.为什么使用索引?
使用索引可以大大的提高查询的效率
(1)使用索引可以避免顺序查询,可以直接将查询的地址定位出来,这样的话查询效率能大大的提升。
(2)使用索引可以将数据库中的关键索引信息存储在内存中,而内存的操作速度远比磁盘快。
4.索引 VS 书的目录
(1)从宏观角度来看,可以认为索引就是书的目录。
(2)从微观上来讲,索引并不等于树的目录,因为一本书的目录只有一个,而一张表可以有很多个索引,而每个索引都相当于一个目录。