當前位置:首頁 > IT技術 > 移動平臺 > 正文

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

# BaseMapper接口訪問數(shù)據(jù)庫
## Mapper接口繼承BaseMapper
```java
/**
* 繼承BaseMapper就有操作數(shù)據(jù)庫的方法,不需要寫Mapper.xml
*/
@Mapper
public interface UserMapper extends BaseMapper {
}
/**
* 繼承IService類,里面有所有的MySQL執(zhí)行方法
*/
public interface UserService extends IService {
}
/**
* 繼承ServiceImpl<UserMapper,User>類就不需要重寫IService接口里面的所有方法
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
```
## 利用服務接口訪問數(shù)據(jù)庫
### 直接調(diào)用BaseMapper里面的方法
```java
//list()方法獲取所有表內(nèi)信息
@ResponseBody
@GetMapping("/userInfo")
public List getUserInfo(){
return userService.list();
}
```
### 利用Wrapper接口封裝sql語句
#### Wrapper類介紹
Wrapper : 條件構(gòu)造抽象類,最頂端父類,抽象類中提供4個方法
AbstractWrapper : 用于查詢條件封裝,生成 sql 的 where 條件
AbstractLambdaWrapper : Lambda 語法使用 Wrapper統(tǒng)一處理解析 lambda 獲取 column。
LambdaQueryWrapper :看名稱也能明白就是用于Lambda語法使用的查詢Wrapper
LambdaUpdateWrapper : Lambda 更新封裝Wrapper
QueryWrapper : Entity 對象封裝操作類,不是用lambda語法
UpdateWrapper : Update 條件封裝,用于Entity對象更新操作
```java
//Entity 對象封裝操作類,封裝sql語句,userService調(diào)用
QueryWrapper queryWrapper =
new QueryWrapper<>();
//相當于where username='cx'
queryWrapper.eq("username",username);
//userService加入queryWrapper接口執(zhí)行sql語句
userService.remove(queryWrapper);
```
#### wrapper里面的方法
Wrapper.png

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

開通會員,享受整站包年服務立即開通 >