当前位置: 首页 > news >正文

wordpress 置顶 不显示网站为什么要做seo

wordpress 置顶 不显示,网站为什么要做seo,有没有专门帮人做图的网站,诸城手机网站建设mybatis-plus 提供了根据id批量更新和修改的方法,这个大家都不陌生 但是当表没有id的时候怎么办 方案一: 手写SQL方案二: 手动获取SqlSessionTemplate 就是把mybatis plus 干的事自己干了方案三 : 重写 executeBatch 方法结论: mybatis-plus 提供了根据id批量更新和修改的方法,…

mybatis-plus 提供了根据id批量更新和修改的方法,这个大家都不陌生 但是当表没有id的时候怎么办

  • 方案一: 手写SQL
  • 方案二: 手动获取SqlSessionTemplate 就是把mybatis plus 干的事自己干了
  • 方案三 : 重写 executeBatch 方法
  • 结论:

mybatis-plus 提供了根据id批量更新和修改的方法,这个大家都不陌生 但是当表没有id的时候怎么办)

方案一: 手写SQL

  • 这个就不说了,就是因为不想手写SQL 所以才有这篇博客

方案二: 手动获取SqlSessionTemplate 就是把mybatis plus 干的事自己干了

// 这种方法就是把mybatis的活在干一遍,还是一条一条处理的.只是共用一个session连接
@Autowired
private SqlSessionTemplate sqlSessionTemplate;// 新获取一个模式为BATCH,自动提交为false的session
SqlSession session = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH,false);
static final BATCH_SIZE = 1000;
// XxxMapper 为 对应的mapper文件
XxxMapper xxMapper = session.getMapper(XxxMapper.class);
int size = updateList.size();
try {for(int i=0; i < size; i++) {// updateByXxx 写好的单条数据的方法xxMapper.updateByXxx(updateList.get(i));if(i % BATCH_SIZE == 0 || i == size-1){//手动每1000个一提交,提交后无法回滚session.commit();//清理缓存,防止溢出session.clearCache();}}
}catch (Exception e) {session.rollback();
} finally {session.close();
}

方案三 : 重写 executeBatch 方法

	// mybatis plus 源码@Transactional(rollbackFor = Exception.class)@Overridepublic boolean updateBatchById(Collection<T> entityList, int batchSize) {String sqlStatement = getSqlStatement(SqlMethod.UPDATE_BY_ID);return executeBatch(entityList, batchSize, (sqlSession, entity) -> {MapperMethod.ParamMap<T> param = new MapperMethod.ParamMap<>();param.put(Constants.ENTITY, entity);sqlSession.update(sqlStatement, param);});}
  • mybatis plus 的 executeBatch
    在这里插入图片描述
  • 参考 mybatis plus 的updateBatchById 方法.
  • 调用处:
//删除方法 deleteList  是要删除的主键list
List<String> deleteList = new ArrayList<>();
dao.batchDelete(deleteList, delete -> new QueryWrapper<String>().eq("xx", delete));// 修改方法 OBJ 代码表对象
List<OBJ> updateList = new ArrayList<>();
dao.batchUpdate(updateList, update -> new LambdaQueryWrapper<OBJ>().eq(OBJ::getProductId, update.getProductId()));
  • 接口
    boolean batchUpdate(List<OBJ> updateList, Function<OBJ, LambdaQueryWrapper> queryWrapperFunction);boolean batchDelete(List<String> deleteList, Function<String, QueryWrapper> queryWrapperFunction);
  • 重写方法 实现
	@Overridepublic boolean batchUpdate(List<OBJ> entityList, Function<OBJ, LambdaQueryWrapper> function) {return this.executeBatch(entityList, DEFAULT_BATCH_SIZE, (sqlSession, entity) -> {ParamMap param = new ParamMap();param.put(Constants.ENTITY, entity);param.put(Constants.WRAPPER, function.apply(entity));sqlSession.update(this.getSqlStatement(SqlMethod.UPDATE), param);});}@Overridepublic boolean batchDelete(List<String> deleteList, Function<String, QueryWrapper> function) {return this.executeBatch(deleteList, DEFAULT_BATCH_SIZE, (sqlSession, entity) -> {ParamMap param = new ParamMap();param.put(Constants.ENTITY, entity);param.put(Constants.WRAPPER, function.apply(entity));sqlSession.delete(this.getSqlStatement(SqlMethod.DELETE), param);});}

结论:

  • 这种写法其实批量的效率还是比较慢的,如果对性能没有要求,并且还不想手写SQL的,可以试一试.
http://www.hkea.cn/news/30546/

相关文章:

  • 微信网站上传图片手机怎么制作网站
  • 简单做网站需要学什么搜索引擎有哪些网站
  • 网站备案信息加到哪里如何进行网站推广
  • 昭通网站制作aso优化技巧
  • 制作网站时怎样做滚动字幕新网站多久会被百度收录
  • 余姚物流做网站微信指数是搜索量吗
  • 怎样做网站轮播今日国内重大新闻事件
  • 想给大学做网站百度网盘搜索神器
  • jsp网站开发论文官方app下载安装
  • 关于机场建设的网站今日疫情最新情况
  • 网站域名注册服务商google浏览器官方
  • 通过网站开发工具怎么改自动跳网站百度指数有哪些功能
  • 可以发锚文本的网站百度搜索官方网站
  • 东莞网站建设企慕简述如何优化网站的方法
  • 可以做网站的公司seo外包
  • 自己怎么做网站视频赚钱5g网络优化培训
  • 数据库修改网站管理员密码seo网站有优化培训吗
  • 福田做商城网站建设找哪家公司好抖音怎么运营和引流
  • 厘米售卡站怎么做网站禁止搜索引擎收录的方法
  • 网站首页滚动图片怎么做谷歌搜索关键词排名
  • 嵩县网站开发友情链接获取的途径有哪些
  • 国家企业信息公示网(广东)海南快速seo排名优化
  • 高端网站设计 上海徐州seo排名公司
  • 泰安网站建设公司排名石家庄最新消息
  • 域名只做邮箱没网站要备案吗常见的网络推广方式包括
  • 昆山建设局网站360搜索首页
  • 正常做网站多少钱无锡网站制作无锡做网站
  • php做网站csdn网站seo公司哪家好
  • 今日头条建站工具何鹏seo
  • wordpress 培训模板优化落实疫情防控新十条