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

昌邑网站建设网站建设完成汇报

昌邑网站建设,网站建设完成汇报,wordpress媒体库查询页,西安百度代运营一、目的 限制单条SQL从数据库、拉取过多数据到应用端#xff0c;防止应用内存过高#xff0c;数据库IO过高等问题 二、开启限制 加入该特性#xff0c;只要引用基础框架包自动加入限制#xff0c;限制数据量默认为1w条 三、关闭限制 如果需要关闭该特新防止应用内存过高数据库IO过高等问题 二、开启限制      加入该特性只要引用基础框架包自动加入限制限制数据量默认为1w条 三、关闭限制      如果需要关闭该特新在配置文件设置该属性并重启      -----properties---------------      #关闭、默认开始      sc.mybatis.plugin.enabledfalse     -----properties--------------- 四、修改限制数量      -----properties---------------      #关闭、默认开始      sc.mybatis.plugin.max.rows10000     -----properties--------------- 五、升级优化     异常抛出策略在超出限制条数的时候可以选择抛出异常      -----properties---------------      #关闭、默认false      sc.mybatis.plugin.throw.exceptionfalse     -----properties--------------- 六、开发规范     单条SQL数据量过大建议使用分页查询减轻数据库和应用压力避免内存溢出 七、实现原理     通过mybatis拦截器拦截StatementHandler给Statement设置maxRows实现 核心代码 Slf4j Intercepts({Signature(type StatementHandler.class, method query, args {Statement.class, ResultHandler.class})}) public class SQLStatementHandlerInterceptor implements Interceptor {/*** 限制返回条数** param invocation* return* throws Throwable*/private int maxRows;public SQLStatementHandlerInterceptor(int maxRows) {this.maxRows maxRows;}Overridepublic Object intercept(Invocation invocation) throws Throwable {Object[] args invocation.getArgs();if (null ! args args.length 0) {try {if (maxRows 0) {Statement statement (Statement) args[0];statement.setMaxRows(maxRows);} else {// 小于0不做处理默认取所有数据}} catch (SQLException e) {log.error(不支持设置maxRows);}}return invocation.proceed();}public int getMaxRows() {return maxRows;}public void setMaxRows(int maxRows) {this.maxRows maxRows;} }抛出异常核心代码 Slf4j Intercepts({Signature(type ResultHandler.class, method handleResultSets, args {Statement.class})}) public class ResultHandlerInterceptor implements Interceptor {/*** Apollo配置限制返回条数** param invocation* return* throws Throwable*/Value(${sc.mybatis.plugin.max.rows:10000})private int maxRows;/*** apollo配置是否抛出异常*/Value(${sc.mybatis.plugin.throw.exception:false})private boolean throwException;public ResultHandlerInterceptor(int maxRows) {this.maxRows maxRows;}Overridepublic Object intercept(Invocation invocation) throws Throwable {List result (List) invocation.proceed();if(CollectionUtils.isEmpty(result)){return null;}// 不走限制逻辑if(maxRows 0){return result;}// 超出限制抛出异常int size result.size();if(size maxRows){if(throwException){log.error(数据库单条SQL查询超出框架包mybatis限制并且抛出异常可以关闭mybatis限制功能或者修改限制条数或者关闭异常);throw new RuntimeException(数据库查询超时mybatis插件限制maxRowsmaxRows);}else {if(size -1 0){result result.subList(0,size -1);}}}return result;}}
http://www.zqtcl.cn/news/9793/

相关文章:

  • 天河网站建设服务wordpress登录破解版
  • 网站建设简历wordpress文章添加回目录
  • 西安电子商务网站创建了网站
  • 天津 网站设计公司网站 微信小程序怎么做
  • 口碑好网站建设多少钱wordpress后台卡
  • 做全景图二维码的网站怎么做宣传网站
  • 国外高清视频素材网站推荐手机微信管理系统
  • 网站500m空间够用吗做视频网站软件有哪些
  • 做企业网站需要什么文件照片在线处理工具
  • 网站建设案例行业现状专门做餐饮运营的网站
  • 关于网站设计的价格wordpress pwshell
  • 有网站和无网站的区别wordpress主题会员付费
  • 企业网站图片上传网站开发待遇怎么样
  • 网站建设 主要学是么龙华网站建设推广平台
  • 自适应网站设计规范建设电商网站所需硬件
  • 做彩票类网站用什么服务器凤阳县建设局网站
  • 怎么建设银行网站打不开局域网网站建设多少钱
  • j2ee做网站网站开发前端工程师
  • 网站平台如何推广移动网页设计总结
  • 天津市中小企业局网站企业宣传网站
  • 搭建网站需要什么凯里门户网
  • 网站系统建设需要什么资质灵感来源网站
  • 网站建设有什么优势沈阳工程建设招标网
  • 免费推广网站推荐网站建设现状分析
  • 珠海品牌网站制作服务宁波seo网络推广主要作用
  • 内存做硬盘缓存软件网站如何申请域名备案
  • 宁夏建设主管部门网站网页打不开显示不安全怎么办
  • 给传销做网站本科自考怎么报名
  • ui网页设计字体网站的优化方案怎么写
  • 呼市做网站公司网站建设主机耗电量