首页 > 其他分享 >mybatis-plus对表的查询方式

mybatis-plus对表的查询方式

时间:2024-07-23 10:50:41浏览次数:10  
标签:对表 getItemId return res List item plus mybatis new

public Page<WmsInventoryVO> queryPage(WmsInventoryQuery query, Pageable page) {
        List<WmsInventory> list = selectList(query, page);
        List<WmsInventoryVO> res = inventoryConvert.dos2vos(list);
        injectAreaAndItemInfo(res);
        return new PageImpl<>(res, page, ((com.github.pagehelper.Page) list).getTotal());
    }

public void injectAreaAndItemInfo(List<? extends WmsAreaAndItemInfo> res) {
        if (CollUtil.isEmpty(res)) {
            return;
        }
        Set<String> itemIds = new HashSet<>();
        res.forEach(it -> {
            if (it.getItemId() != null) {
                itemIds.add(it.getItemId());
            }
        });
        Map<String, WmsItem> items = itemService.selectByIdIn(itemIds)
                .stream().collect(Collectors.toMap(WmsItem::getObjId, it -> it));

        res.forEach(it -> {
            if (it.getItemId() != null && items.containsKey(it.getItemId())) {
                WmsItem item = items.get(it.getItemId());
                it.setItemName(item.getItemName());
                it.setItemNo(item.getItemNo());
                it.setItemDelFlag(item.getDelFlag());
            }
        });
    }

public List<WmsItem> selectByIdIn(Collection<String> ids) {
		// 如果主键集合为空,直接返回空集合
		if (ids == null || ids.isEmpty()) {
			return new ArrayList<>();
		}
		QueryWrapper<WmsItem> qw = new QueryWrapper<>();
		qw.in("obj_id", ids);
		return itemMapper.selectList(qw);
}

标签:对表,getItemId,return,res,List,item,plus,mybatis,new
From: https://www.cnblogs.com/188221creat/p/18317805

相关文章

  • 学习笔记-MyBatis 的使用
    目录为什么要用MyBatis?传统的JDBC七个步骤优化JDBC操作优化空间什么是MyBatis?使用MyBatis1.引入第三方依赖2.修改配置3.创建Mapper层(Dao层)4.写SQL映射文件测试注册Mapper层映射文件设置带参方法优化MyBatis操作过程Service业务层Controlle......
  • IP报文格式大全,plus版本,网络工程师收藏!
    互联网协议(IP,InternetProtocol)是互联网中的核心协议,它定义了数据包如何在网络间传输。IP报文(或数据包)是传输层发送到网络层的数据单元,包含了数据和控制信息。IP报文结构IP报文由两个主要部分组成:头部(Header)和数据(Data)。IP头部包含了路由和传输控制信息,而数据部分则是实际......
  • mybatis使用foreach批量插入
    创建表createtablepublic."match"(match_datedatenotnull,match_namecharactervarying(20)notnull,match_seasoncharactervarying(10)notnull,match_roundnumeric(2)notnull,home_teamcharactervarying(30)notnull,away_teamcharact......
  • SpringBoot利用MyBatis连接Mysql数据库时常见启动报错
    目录报错情况报错情况一:​编辑报错情况二:解决步骤一、解决命名问题1.mapper层的id是否和Dao层的方法名字相同2.检查namespace与Dao层的文件地址相同二、解决注解问题1.检查Controller层的注解是否正确和完整2.Dao层或者Mapper层的注解3.pojo层:实体类层Data注解(用来......
  • JavaWeb MyBatis案例
    JAVAWEBMyBatis视频学习笔记MyBatis案例1环境准备1.1数据库准备1.2准备一个Brand实体类1.3准备测试用例1.4安装MyBatisX插件2编写接口2.1编写查询所有2.1.1编写Mapper接口2.1.2编写SQL映射文件2.1.3编写测试语句完成测试2.1.4BugFix2.2查看详情2.2.1编......
  • C Prinmer Plus笔记第1-6章
    文章目录CPrinmerPlus笔记第1章初始C语言第2章C语言概述第3章数据和C第4章字符串和格式化输入/输出4.14.2.14.2.34.3常量和C预处理器4.4printf()和scanf()第5章运算符、表达式和语句第6章C控制语句:循环CPrinmerPlus笔记超简洁版大一学过了现在大三上课......
  • mybatis入门
    mybatis入门官网https://mybatis.org/mybatis-3/zh_CN/getting-started.html1.入门案例1.1创建user表,添加数据createdatabasemybatis;usemybatis;alterdatabasemybatischarsetutf8mb4;#注意:不设置可能会出现报错“Incorrectstringvalue:‘\xE7\x94\xB7‘......
  • Spring boot + Mybatis 实现数据库的增删改查(CRUD)操作
    Springboot+Mybatis实现数据库的增删改查(CRUD)操作利用Springboot,我们可以快速构建Spring框架应用。利用Mybatis为Springboot提供的依赖,我们可以快捷地连接到MySQL,实现web项目对数据库的CRUD操作。一、创建项目在IDEA中新建maven项目,并在pom.xml......
  • Mybatis
    目录快速入门配置SQL提示JDBC 数据库连接池 lombok 基础操作删除日志输出 ​编辑 SQL注入新增主键返回 修改查询 根据Id查询数据封装条件查询 concat字符串拼接函数 ​编辑XML映射文件 动态SQL是一种优秀的持久层框架,用于简化JDBC的开发......
  • 手把手教你搭建Mybatis框架
    目录Mybatis概述Mybatis环境搭建①在数据库里创建一张表②在maven项目中创建一个实体类③导入所需jar包 ④创建Mybatis核心配置文件⑤定义接口⑥ 创建sql映射文件⑦测试MybatisMybatisX插件Mybatis概述 • Mybatis原是apache的一个开源项目,起初叫iba......