1.问题产生 之前,开发项目使用的是tk-mapper,当使用批量操作时,通常使用insertList就可以了。但是,最近的项目使用的是mybaits-plus,在使用批量操作saveBatch的使用,却遇到了一个问题,这个一开始让我以为我的数据出现了重复,但是仔细看,不是数据出现了重复,而是因为有一个字段相同,报唯一索引字段重复插入 Duplicate ent...
String insertSqlProperty = tableInfo.getKeyInsertSqlProperty(true, ENTITY_DOT,false) +this.filterTableFieldInfo(fieldList, predicate, i -> i.getInsertSqlProperty(ENTITY_DOT), EMPTY); insertSqlProperty = LEFT_BRACKET + insertSqlProperty.substring(0, insertSqlProperty.length() -1) + RIGHT_BRACKE...
saveOrUpdateBatch(list) 每次在报错的情况下仅能插入最多1001行数据。 跟着杨老师的代码解决问题,由于mybits-plus升级,有个细节需要变更, InsertBatch 类中 tableInfo.getAllInsertSqlColumn(false) tableInfo.getAllInsertSqlProperty(false,null) 变更为: tableInfo.getAllInsertSqlColumnMaybeIf() tableInfo.getAll...
put("gender","1"); List<Employee> employees = emplopyeeDao.selectByMap(columnMap); System.out.println(employees.size()); 注:查询条件用map集合封装,columnMap,写的是数据表中的列名,而非实体类的属性名。比如属性名为lastName,数据表中字段为last_name,这里应该写的是last_name。selectByMap方法返回...
insertBatchSomeColumn(userList); } 在上面的示例中,通过注入BaseMapper接口的实例,然后调用其insertBatchSomeColumn方法进行批量插入操作。该方法接受一个实体类列表作为参数,并指定要插入的属性。无论使用哪种方法进行批量插入,都应该注意处理可能出现的异常和错误,并确保数据的一致性和完整性。二、批量更新批量更新是...
selectList(null); } public int addUser(User user) { return userMapper.insert(user); } // 其他业务逻辑... } 四、总结 Mybatis-Plus的BaseMapper接口大大简化了数据库操作代码的编写,让开发者能够更加专注于业务逻辑的实现。同时,由于BaseMapper接口提供的方法都是基于Mybatis的,因此开发者仍然可以灵活地...
return saveBatch(entityList, DEFAULT_BATCH_SIZE); } ... 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 查看该批量插入的实现方法源码: public boolean saveBatch(Collection<T> entityList, int batchSize) { String sqlStatement = sqlStatement(SqlMethod.INSERT_ONE); try ...
我们循环1万次,把每个实例员工对象装到员工集合(List)中,然后调用Mybatis-Plus的saveBatch方法,传入List集合,实现批量员工的插入,然后我们在方法开始结束的地方,计算当前函数执行时长。 @PostMapping("/addBath") @ResponseBody public CommonResult<Employee> addBath(){ ...
</insert> 1. 2. 3. 4. 5. 测试代码:(test1.java) public static void main(String[] args) { String resource = "book/map/mybatisconfig.xml"; //基本配置文件的路径 Reader reader = null;//建立输入流 try { reader = Resources.getResourceAsReader(resource);//mybatis自带的API方法 ...
在前面的小节中,介绍了MyBatis-Plus的基本使用,需要添加什么依赖以及基本的注解配置就可以快速使用MyBatis-Plus的查询selectList。这一节来看一下常用的增删改如何操作呢 ? EasyPoi实战系列: 01.《MyBatis-Plus是什么以及特性[MyBatis-Plus系列]》 02.《MyBatis-Plus快速开始 [MyBatis-Plus系列]》 本节是基于02节...