mybatis-plus扩展
一、代码生成器
代码生成在Toos中,ConfigDatabase是配置,code Generator是生成代码的
配置信息
代码生成配置
二、DB静态工具
一旦出现了service相互调用,大家可以用DB静态工具调用
public List<UserVO> queryUserAndAddressByIds(List<Long> ids) {//1.查询用户List<User> users = listByIds(ids);if(CollUtil.isEmpty(users)){return Collections.emptyList();}//2.查询地址List<Long> userIds = users.stream().map(User::getId).collect(Collectors.toList());//3.根据用户id查询地址List<Address> addresses = Db.lambdaQuery(Address.class).in(Address::getUserId, userIds).list();//4.把po地址转化为vo地址List<AddressVO> addressVOList = BeanUtil.copyToList(addresses, AddressVO.class);//5将用户地址集合分组处理,相同用户放入到一个集合中Map<Long,List<AddressVO>> addressMap=new HashMap<>(0);if(CollUtil.isNotEmpty(addressVOList)){addressMap = addressVOList.stream().collect(Collectors.groupingBy(AddressVO::getUserId));}//转化为vo返回List<UserVO> list=new ArrayList<>(users.size());for (User user : users) {UserVO vo = BeanUtil.copyProperties(user, UserVO.class);vo.setAddresses(addressMap.get(user.getId()));}return list;}
三、逻辑删除
四、枚举处理器
@JsonValue加在哪个上,查询返回就是哪个值