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处理器

相关推荐
不是株4 分钟前
Redis(入门篇)
数据库·redis·缓存
2401_873204654 分钟前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
0xDevNull11 分钟前
MySQL 三大日志系统深度解析:Binlog、Redo Log、Undo Log
数据库·mysql
逃逸线LOF14 分钟前
数据源 C3PO与Druid
数据库·oracle
m0_5698814726 分钟前
使用Python进行网络设备自动配置
jvm·数据库·python
Zzxy35 分钟前
HikariCP连接池
java·数据库
钰衡大师35 分钟前
MySQL 数据库备份方案
数据库·mysql
殷紫川40 分钟前
别等业务中断才补坑!RTO/RPO 核心逻辑与全场景灾备架构选型全攻略
数据库·架构
reasonsummer1 小时前
【办公类-133-02】20260319_学区化展示PPT_02_python(图片合并文件夹、提取同名图片归类文件夹、图片编号、图片GIF)
前端·数据库·powerpoint
2401_831920741 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python