mybatis-plus扩展

一、代码生成器

代码生成在Toos中,ConfigDatabase是配置,code Generator是生成代码的

配置信息

代码生成配置

二、DB静态工具

一旦出现了service相互调用,大家可以用DB静态工具调用

java 复制代码
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加在哪个上,查询返回就是哪个值

五、JSON处理器

相关推荐
倔强的石头_1 分钟前
性能飙升!KingbaseES V9R2C13 Windows安装与优化特性深度实测
数据库
梦里不知身是客111 分钟前
Doris 中主键模型的读时合并模式
数据库·sql·linq
GanGuaGua7 分钟前
MySQL:复合查询
数据库·mysql·oracle
gugugu.7 分钟前
MySQL事务深度解析:从ACID到MVCC的实现原理
数据库·mysql·oracle
DechinPhy12 分钟前
使用Python免费合并PDF文件
开发语言·数据库·python·mysql·pdf
杨了个杨898234 分钟前
PostgreSQL 完全备份与还原
数据库·postgresql
爱吃KFC的大肥羊35 分钟前
Redis持久化详解(一):RDB快照机制深度解析
数据库·redis·缓存
黎明破晓.38 分钟前
Redis
数据库·redis·缓存
Dovis(誓平步青云)44 分钟前
《MySQL从入门:基础安装与数据库核心概念全解析》
数据库·mysql
Web极客码1 小时前
如何选择最适合的内容管理系统(CMS)?
java·数据库·算法