本章介绍了查询API的核心语法实现,分别针对于单条以及多条信息的查询进行了一 一语法描述,同时采用实战演练的方式依次演示了根据ID查询用户信息、实现账户登录操作以及多参数查询等实战案例。
描述 | 方法 | 返回类型 |
---|---|---|
根据ID查询 | getById(Serializable id); | T |
根据 Wrapper,查询一条记录。 结果集,如果是多个会抛出异常, 随机取一条加上限制条件 wrapper.last(“LIMIT 1”) |
getOne(Wrapper queryWrapper); | T |
根据 Wrapper,查询一条记录 | getOne(Wrapper queryWrapper, boolean throwEx); | T |
根据 Wrapper,查询一条记录 | getMap(Wrapper queryWrapper); | Map |
根据 Wrapper,查询一条记录 | getObj(Wrapper queryWrapper, Function super Object, V> mapper); | V |
参数说明
类型 | 参数名 | 描述 |
---|---|---|
Serializable | id | 主键ID |
Wrapper | queryWrapper | 实体对象封装操作类QueryWrapper |
boolean | throwEx | 有多个result是否抛出异常 |
T | entity | 实体对象 |
Functin super Object,V> | mapper | 转换函数 |
描述 | 方法 | 返回类型 |
---|---|---|
查询所有 | list(); | List |
查询列表 | list(Wrapper queryWrapper); | List |
查询(根据ID 批量查询) | listByIds(Collection extends Serializable> idList); | Collection |
查询(根据 columnMap 条件) | listByMap(Map |
Collection |
查询所有列表 | listMaps(); | List |
查询列表 | listMaps(Wrapper queryWrapper); | List |
查询全部记录 | listObjs(); | List |
根据 Wrapper 条件,查询全部记录 | listObjs(Wrapper queryWrapper); | List |
参数说明
类型 | 参数名 | 描述 |
---|---|---|
Wrapper | queryWrapper | 实体对象封装操作类 QueryWrapper |
Collection extends Serializable> | idList | 主键ID列表 |
Map |
columnMap | 表字段 map 对象 |
1.1 IUserService.java
//根据ID查询用户信 User queryById(int id);
1.2 UserServiceImpl.java
@Override public User queryById(int id) { User user = this.baseMapper.selectById(id); return user; }
1.3 编写UserController.java
//根据id查询用户信息 @RequestMapping("/query/{id}") public String queryById(@PathVariable int id){ //根据id查询对象 User user =userService.queryById(id); //返回json return JSON.toJSONString(user); }
1.4 执行,观察效果
2.1 编写IUserService.java
//实现登录 User queryByAccount(String email,String pwd);
2.2 编写UserServiceImpl.java
@Override public User queryByAccount(String email, String pwd) { //封装查询参数 QueryWrapper
2.3 编写UserController.java
//实现用户登录 @RequestMapping(value="/login",method = RequestMethod.POST) public String login(String email,String pwd){ //执行的返回结果 Map
2.4 执行,观察效果
开始实验
1.1 编写IUserService.java
//多参数查询 List
1.2 编写UserServiceImpl.java
/** * 查询 > beginId,且 年龄在[minAge,maxAge] 区间的用户 * @param minAge * @param maxAge * @param beginId * @return */ @Override public List
1.3 编写UserController.java
//多参数用户信息查询 @RequestMapping(value="/query",method = RequestMethod.GET) public String queryUsers(){ //执行的返回结果 Map
1.4 执行,观察效果
需求说明
2.1 编写UserMapper.java
@Select("${sql}") List
2.2 编写IUserService.java
//原生SQL查询 List
2.3 编写UserServiceImpl.java
@Override public List
2.4 编写UserController.java
//多参数用户信息查询 @RequestMapping(value="/query",method = RequestMethod.GET) public String queryUsers(){ //执行的返回结果 Map
2.5 执行,观察效果
开始实验