当前位置:首页 > 科技新闻 > 移动平台 > 正文

BaseMapper接口
2021-10-15 15:01:13

# BaseMapper接口访问数据库
## 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

本文摘自 :https://www.cnblogs.com/