# BaseMapper接口訪問數(shù)據(jù)庫 |
---|
## Mapper接口繼承BaseMapper |
```java |
/** |
* 繼承BaseMapper就有操作數(shù)據(jù)庫的方法,不需要寫Mapper.xml |
*/ |
@Mapper |
public interface UserMapper extends BaseMapper |
} |
/** |
* 繼承IService |
*/ |
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 |
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 |
new QueryWrapper<>(); |
//相當于where username='cx' |
queryWrapper.eq("username",username); |
//userService加入queryWrapper接口執(zhí)行sql語句 |
userService.remove(queryWrapper); |
``` |
#### wrapper里面的方法 |
本文摘自 :https://www.cnblogs.com/