免费国外服务器ip,优化百度搜索,做免费的网站教程,台州路桥区企业全网seo优化目录
一、批量更新数据库数据
逐条更新
Db.updateEntitiesBatch()
二、Error running#xff0c;Command line is too long. Shorten command line
报错场景
报错分析
解决方法 一、批量更新数据库数据
逐条更新
ListUserModel ums userMapper.selectListBy…
目录
一、批量更新数据库数据
逐条更新
Db.updateEntitiesBatch()
二、Error runningCommand line is too long. Shorten command line
报错场景
报错分析
解决方法 一、批量更新数据库数据
逐条更新
ListUserModel ums userMapper.selectListByQuery(QueryWrapper.create().where(UserModel::getName).in(nameList));
for(UserModel um : ums){um.setName();
}
for(UserModel um : ums){userMapper.update(um);
}
这种方式显然是最简单也最不容易出错的即便出错也只是影响到当条出错的数据而且可以对每条数据都比较可控更新失败或成功从什么内容更新到什么内容都可以在逻辑代码中获取。
最大的问题就是效率问题逐条更新每次都会连接数据库然后更新再释放连接资源虽然通过连接池可以将频繁连接数据的效率大大提高抗不住数据量大这种损耗在数据量较大的时候便会体现出效率问题。
因此在满足业务需求的时候通常会使用下面第二种批量更新的实现。
Db.updateEntitiesBatch()
MyBatis-Flex 是一个优雅的 MyBatis 增强框架它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库其内置的 QueryWrapper^亮点 帮助我们极大的减少了 SQL 编写的工作的同时减少出错的可能性。
MyBatis-Flex提供了批量更新的几个方法。 链接地址批量操作 - MyBatis-Flex 官方网站 其中的Db.updateEntitiesBatch()方法主要用于批量根据 id 更新 entity它实际上对 Db.executeBatch 的进一步封装使用起来更加便捷。
ListUserModel ums ....
Db.updateEntitiesBatch(ums, 30); 二、Error runningCommand line is too long. Shorten command line
报错场景
在使用IDEA开发时遇到下图所示的报错 报错分析
在开发Java应用的过程中可能偶尔会遇到“Error running ‘Application’: Command line is too long”的问题。这是因为Java虚拟机JVM在启动时如果传递给它的类路径classpath过长超过了操作系统的命令行长度限制就会抛出这个错误。尤其是在大型项目中依赖库众多导致classpath非常庞大就可能出现这个问题。
解决方法
如果你是在IntelliJ IDEA或其他IDE中遇到这个问题可以在项目的运行/调试配置中设置类路径文件。
打开你的项目运行配置Run/Debug Configurations或者点击“Edit Configurations”选择左侧的启动失败的项目在Shorten command line选项中选择“JAR manifest”点击“Apply”生效即可。 重新运行项目程序就不会报这个错了。