国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

mybatis interceptor 處理查詢參數(shù)及查詢結(jié)果的實(shí)例代碼

2019-11-26 13:10:43
字體:
供稿:網(wǎng)友

下面給大家介紹mybatis interceptor 處理查詢參數(shù)及查詢結(jié)果,具體代碼如下所示:

/** * Created by windwant on 2017/1/12. */@Intercepts({    @Signature(type=Executor.class,method="update",args={MappedStatement.class,Object.class}),    @Signature(type=Executor.class,method="query",args={MappedStatement.class,Object.class,RowBounds.class,ResultHandler.class})})public class EncryptInterceptor implements Interceptor {  public static final Logger logger = LoggerFactory.getLogger(EncryptInterceptor.class);  @Override  public Object intercept(Invocation invocation) throws Throwable {    dealParameter(invocation);    Object returnValue = invocation.proceed();    dealReturnValue(returnValue);    return returnValue;  }  //查詢參數(shù)加密處理  private void dealParameter(Invocation invocation) {    MappedStatement statement = (MappedStatement) invocation.getArgs()[0];    String mapperl = ConfigUtils.get("mybaits.mapper.path");    String methodName = statement.getId().substring(statement.getId().indexOf(mapperl) + mapperl.length() + 1);    if (methodName.startsWith("UserBaseMapper")){      if(methodName.equals("UserBaseMapper.updateDriver")){        ((Driver) invocation.getArgs()[1]).encrypt();      }    }    logger.info("Mybatis Encrypt parameters Interceptor, method: {}, args: {}", methodName, invocation.getArgs()[1]);  }  //查詢結(jié)果解密處理  private void dealReturnValue(Object returnValue){    if(returnValue instanceof ArrayList<?>){      List<?> list = (ArrayList<?>)returnValue;      for(Object val: list){        if(val instanceof Passenger){///          //TODO        }        logger.info("Mybatis Decrypt result Interceptor, result object: {}", ToStringBuilder.reflectionToString(val));      }    }  }  @Override  public Object plugin(Object target) {    return Plugin.wrap(target, this);  }  @Override  public void setProperties(Properties properties) {  }}

添加配置:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">       <property name="typeAliasesPackage" value="com.xx.model"/>       <property name="dataSource" ref="dataSource"/>       <!-- 自動掃描mapping.xml文件 -->       <property name="mapperLocations" value="classpath*:mybatis/*.xml"></property>       <property name="plugins">           <array>              <bean class="com.github.pagehelper.PageHelper">                  <property name="properties">                     <value>dialect=hsqldb</value>                  </property>              </bean>              <bean class="com.xx.interceptor.EncryptInterceptor">                  <property name="properties">                     <value>property-key=property-value</value>                  </property>              </bean>           </array>       </property>    </bean>

以上所述是小編給大家介紹的mybatis interceptor 處理查詢參數(shù)及查詢結(jié)果的實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乳源| 即墨市| 京山县| 吉林省| 乌什县| 青浦区| 永泰县| 射阳县| 宁国市| 屯留县| 诸城市| 金寨县| 特克斯县| 新蔡县| 金塔县| 手游| 司法| 金堂县| 新沂市| 嘉善县| 深水埗区| 安溪县| 苍山县| 调兵山市| 托克逊县| 花垣县| 新闻| 济源市| 资源县| 手机| 砀山县| 丰顺县| 凤翔县| 门头沟区| 泰州市| 扎兰屯市| 中西区| 南汇区| 龙海市| 肇州县| 长葛市|