| ## Mapper接口继承BaseMapper |
|
| ```java |
| /** |
| * 继承BaseMapper就有操作数据库的方法,不需要写Mapper.xml |
| */ |
| @Mapper |
| public interface UserMapper extends BaseMapper { |
|
|
| } |
|
|
| /** |
| * 继承IService类,里面有所有的MySQL执行方法 |
| */ |
| public interface UserService extends IService { |
| } |
|
|
| /** |
| * 继承ServiceImpl<UserMapper,User>类就不需要重写IService接口里面的所有方法 |
| */ |
|
| @Service |
| public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { |
|
| } |
| ``` |
|
| ## 利用服务接口访问数据库 |
|
| ### 直接调用BaseMapper里面的方法 |
|
| ```java |
| //list()方法获取所有表内信息 |
| @ResponseBody |
| @GetMapping("/userInfo") |
| public List getUserInfo(){ |
| return userService.list(); |
| } |
| ``` |
|
| ### 利用Wrapper接口封装sql语句 |
|
| #### Wrapper类介绍 |
|
| Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法 |
| AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 |
| AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。 |
| LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper |
| LambdaUpdateWrapper : Lambda 更新封装Wrapper |
| QueryWrapper : Entity 对象封装操作类,不是用lambda语法 |
| UpdateWrapper : Update 条件封装,用于Entity对象更新操作 |
|
| ```java |
| //Entity 对象封装操作类,封装sql语句,userService调用 |
| QueryWrapper queryWrapper = |
| new QueryWrapper<>(); |
| //相当于where username='cx' |
| queryWrapper.eq("username",username); |
| //userService加入queryWrapper接口执行sql语句 |
| userService.remove(queryWrapper); |
| ``` |
|
| #### wrapper里面的方法 |
|
![Wrapper.png]() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|