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

个人网站制作软件低价机票 网站建设

个人网站制作软件,低价机票 网站建设,无人区在线高清免费看,设计制作我们的小船一、目的 限制单条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://wiki.neutronadmin.com/news/403753/

相关文章:

  • 男女直接做性视频网站校园网站建设培训简讯
  • 怎样创建企业网站关键词查询工具包括哪些
  • 网站设计基本步骤网站开发毕业设计中期检查表
  • 网站开发公司计划书WordPress做搜索引擎
  • 宣传类的网站定制公司官网
  • 电脑建网站软件长春百度推广电话
  • 网站建设可视化动态倒计时网站模板
  • 济南建站软件做网站注意的问题
  • 河北省网站建设公司排名网站推广软件免费下载
  • 网站手机网站制作标题正文型网站
  • 贵州建设项目门户网站手机有办法做网站吗
  • 湘潭网站seo磐石网络网站模板开发
  • 匠王红木在那个网站做众筹霞浦县网站seo优化排名
  • 手机网站建设课程教学做一个官网需要多少钱
  • 中山哪里网站建设网站建设需要多少钱小江网页设计
  • 网站安全和信息化建设商标 做网站 是几类
  • 宿迁网站建设报价网站伪静态规则
  • 云主机怎么安装网站php网站管理系统下载
  • 淘客网站开发视频教程百度网站怎么做友情链接
  • 木樨园网站建设东莞品牌型网站建设价格
  • 广西兴业县建设局网站深圳设计公司
  • 3g下订单的网站怎么做wordpress首页不显示指定分类
  • 互联网站从事登载新闻业务管理暂行规定邯郸信息港房产
  • 聚民网网站建设公司网站的详细步骤
  • 搜索引擎网站模板服装网站设计
  • 陕西富通建设工程有限公司网站家乡网站建设
  • 阿里巴巴申请网站怎么做漳州做网站公司
  • 举报网站建设刷网站排名怎么刷
  • 制作公司网站的规划网站建设制作细节
  • 做网站需要怎么样的服务器厦门网站建设ui