目录
1 前言
2 使用方法
2.1 Db静态工具拥有的部分方法
2.2 举例
1 前言
在我们的服务层中,有时为了实现一个方法需要引入其它的Mapper层方法,但是,这样可能出现循环依赖。虽然Spring已经给我们解决了简单的循环依赖问题,但是我们仍然希望尽量的去避免它,因此我们就可以使用Db静态工具。
本文参考自黑马程序员。
2 使用方法
2.1 Db静态工具拥有的部分方法
我们可以看到,除了我们的save和update方法外,其它都需要传入一个实体类的参数,因为Db是静态方法,save和update方法相当于已经告知实体类,而其它方法需要我们告知具体实体类。
2.2 举例
我们以在用户的服务层方法中查询地址为例,代码如下,不需要注入地址的相关依赖,直接Db就行:
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
@Override
public List<UserVO> queryUserAndAddressByIds(List<Long> ids) {
//其它代码...
//根据用户id查询地址
List<Address> addresses = Db.lambdaQuery(Address.class).in(Address::getUserId, userIds).list();
}
}