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

网站文案案例网站开发前后端分离要多少钱

网站文案案例,网站开发前后端分离要多少钱,wordpress 755权限,济南品牌网站建设公司Mybatis拦截器 概述应用场景项目结构实现分页查询其它拦截器的使用 概述 Mybatis允许使用者在映射语句执行过程中的某一些指定的节点进行拦截调用#xff0c;通过织入拦截器#xff0c;在不同节点修改一些执行过程中的关键属性#xff0c;从而影响SQL的生成、执行和返回结果… Mybatis拦截器 概述应用场景项目结构实现分页查询其它拦截器的使用 概述 Mybatis允许使用者在映射语句执行过程中的某一些指定的节点进行拦截调用通过织入拦截器在不同节点修改一些执行过程中的关键属性从而影响SQL的生成、执行和返回结果。 默认情况下Mybatis支持四种对象拦截 Executor拦截执行器的方法ParameterHandler拦截参数的处理ResultSetHandler拦截结果集的处理StatementHandler拦截Sql语法构建的处理 执行顺序Executor StatementHandler ParameterHandler ResultSetHandler 注本文代码基于《Mybatis一级缓存二级缓存》中的“一级缓存Spring整合Mybatis”的代码进行调整。 应用场景 分页查询数据脱敏数据过滤监控Sql语句执行耗时 项目结构 实现分页查询 StatementInterceptor.java package com.mybatis.interceptor;import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.SqlCommandType; import org.apache.ibatis.plugin.*; import org.apache.ibatis.reflection.MetaObject; import org.apache.ibatis.reflection.SystemMetaObject; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;import java.lang.reflect.Field; import java.sql.Connection; import java.util.Properties;/*** author honey* date 2023-08-02 15:25:26*/ Slf4j Intercepts({Signature(type StatementHandler.class, method prepare, args {Connection.class, Integer.class}), }) Component public class StatementInterceptor implements Interceptor {Value(${mybatis.page-helper.rule})private String rule;Overridepublic Object intercept(Invocation invocation) throws Throwable {StatementHandler statementHandler (StatementHandler) invocation.getTarget();MetaObject metaObject SystemMetaObject.forObject(statementHandler);MappedStatement mappedStatement (MappedStatement) metaObject.getValue(delegate.mappedStatement);SqlCommandType sqlCommandType mappedStatement.getSqlCommandType();// 判断sql语句的类型switch (sqlCommandType) {case SELECT:extendLimit(statementHandler);break;case INSERT:case UPDATE:case DELETE:case FLUSH:default:break;}log.info(【StatementInterceptor】方法拦截前执行);Object result invocation.proceed();log.info(【StatementInterceptor】方法拦截后执行);return result;}Overridepublic Object plugin(Object target) {return Plugin.wrap(target, this);}Overridepublic void setProperties(Properties properties) {}private void extendLimit(StatementHandler statementHandler) throws NoSuchFieldException, IllegalAccessException {// 获取原生sql语句BoundSql boundSql statementHandler.getBoundSql();Class? extends BoundSql aClass boundSql.getClass();// 使用反射机制修改原生sql语句Field sql aClass.getDeclaredField(sql);sql.setAccessible(true);String oldSqlStr boundSql.getSql();log.info(原生sql语句{}, oldSqlStr);// 加上分页规则sql.set(boundSql, oldSqlStr rule);} }application.yml mybatis:page-helper:rule: limit 2其它拦截器的使用 ExecutorInterceptor.java package com.mybatis.interceptor;import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.plugin.*; import org.apache.ibatis.session.ResultHandler; import org.apache.ibatis.session.RowBounds; import org.springframework.stereotype.Component;import java.util.Properties;/*** author honey* date 2023-08-02 18:11:28*/ Slf4j Intercepts({Signature(type Executor.class, method query, args {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class}) }) Component public class ExecutorInterceptor implements Interceptor {Properties properties;Overridepublic Object intercept(Invocation invocation) throws Throwable {log.info(【ExecutorInterceptor】方法拦截前执行);Object result invocation.proceed();log.info(【ExecutorInterceptor】方法拦截后执行);return result;}Overridepublic Object plugin(Object target) {return Plugin.wrap(target, this);}Overridepublic void setProperties(Properties properties) {this.properties properties;} }ParameterInterceptor.java package com.mybatis.interceptor;import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.parameter.ParameterHandler; import org.apache.ibatis.plugin.*; import org.springframework.stereotype.Component;import java.sql.PreparedStatement; import java.util.Properties;/*** author honey* date 2023-08-02 18:22:15*/ Slf4j Intercepts({Signature(type ParameterHandler.class, method setParameters, args {PreparedStatement.class}) }) Component public class ParameterInterceptor implements Interceptor {Properties properties;Overridepublic Object intercept(Invocation invocation) throws Throwable {log.info(【ParameterInterceptor】方法拦截前执行);Object result invocation.proceed();log.info(【ParameterInterceptor】方法拦截后执行);return result;}Overridepublic Object plugin(Object target) {return Plugin.wrap(target, this);}Overridepublic void setProperties(Properties properties) {this.properties properties;} }ResultSetInterceptor.java package com.mybatis.interceptor;import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.resultset.ResultSetHandler; import org.apache.ibatis.plugin.*; import org.springframework.stereotype.Component;import java.sql.Statement; import java.util.Properties;/*** author honey* date 2023-08-02 18:24:00*/ Slf4j Intercepts({Signature(type ResultSetHandler.class, method handleResultSets, args {Statement.class}) }) Component public class ResultSetInterceptor implements Interceptor {Properties properties;Overridepublic Object intercept(Invocation invocation) throws Throwable {log.info(【ResultSetInterceptor】方法拦截前执行);Object result invocation.proceed();log.info(【ResultSetInterceptor】方法拦截后执行);return result;}Overridepublic Object plugin(Object target) {return Plugin.wrap(target, this);}Overridepublic void setProperties(Properties properties) {this.properties properties;} }
http://www.w-s-a.com/news/304451/

相关文章:

  • 权威网站优化价格电子商务静态网站建设实验报告
  • 公司如何办网站北京网站建设公司内江
  • 六安建设网站企业营业执照查询系统入口
  • a5网站建设如果建设淘宝导购网站
  • html5响应式网站开发教程在国内做跨境电商怎么上外国网站
  • win7配置不能运行wordpress关键词快速优化排名软件
  • 餐饮公司最好的网站建设手机网站 搜索优化 百度
  • 17网站一起做网批做服装团购网站
  • 广州网站制作知名企业网站搭建品牌
  • 如何去除网站外链个人网页制作全过程
  • 保洁公司网站怎么做科技设计网站有哪些内容
  • 建设厅网站查询网页设计好就业吗
  • 惠东县网站建设wordpress 如何回到初始
  • 如何让公司网站网站转备案
  • 获得网站所有关键字北京网站建设116net
  • 铜陵电子商务网站建设做龙之向导网站有用吗
  • 购物网站制作费用沧州新华区
  • 信宜网站设计公司在线购物商城系统
  • 网站维护是什么样如何制作网站教程视频讲解
  • 网站建设网络推广代理公司wordpress图片防盗链
  • 网站备案关站沈阳男科医院哪家好点
  • 王者荣耀网站建设的步骤网站页面用什么软件做
  • 典型网站开发的流程房屋装修效果图三室一厅
  • 制作微网站多少钱阿里巴巴做网站的电话号码
  • 风铃建站模板安卓手机软件开发外包
  • 深圳市住房和建设局门户网站域名转移影响网站访问吗
  • 做母婴网站赚钱汕头百姓网
  • 那个网站建设好动漫制作技术升本可以升什么专业
  • 网站建设企业响应式网站模板广西建设部投诉网站
  • app营销的特点wordpress优化方案