# BaseMapper接口访问数据库 |
---|
## Mapper接口继承BaseMapper |
```java |
/** |
* 继承BaseMapper就有操作数据库的方法,不需要写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 { |
} |
``` |
## 利用服务接口访问数据库 |
### 直接调用BaseMapper里面的方法 |
```java |
//list()方法获取所有表内信息 |
@ResponseBody |
@GetMapping("/userInfo") |
public List |
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 |
new QueryWrapper<>(); |
//相当于where username='cx' |
queryWrapper.eq("username",username); |
//userService加入queryWrapper接口执行sql语句 |
userService.remove(queryWrapper); |
``` |
#### wrapper里面的方法 |
本文摘自 :https://www.cnblogs.com/