国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - mybatis interceptor 處理查詢參數及查詢結果的實例代碼

mybatis interceptor 處理查詢參數及查詢結果的實例代碼

2020-07-31 16:01WindWant Java教程

這篇文章主要介紹了mybatis interceptor 處理查詢參數及查詢結果,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/**
 * 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;
  }
  //查詢參數加密處理
  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]);
  }
  //查詢結果解密處理
  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) {
  }
}

添加配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<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 處理查詢參數及查詢結果的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/niejunlei/archive/2017/01/24/6346610.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产免费拔擦拔擦8x高清在线人 | 国产精品久久久久久久久久99 | 99久久婷婷国产综合精品电影 | 最新国产精品精品视频 | 日韩高清不卡一区二区三区 | 精品美女久久久 | 久久久精品456亚洲影院 | 91看片淫黄大片一级在线观看 | 亚洲免费视频网 | 欧美寂寞影院 | 欧美日本免费一区二区三区 | 99久久99久久久精品色圆 | 成人午夜毛片 | 日韩第一区 | 九色在线观看 | 国产毛片一区二区 | 日本中文字幕在线播放 | 精品午夜久久 | 色综合视频在线观看 | 亚洲精品视频免费观看 | 欧美成人精品一区二区三区 | 在线观看国产视频 | 久久精品成人 | 成人午夜天堂 | 中文字幕在线一区二区三区 | 国产日韩一区二区三区 | 在线电影亚洲 | 欧美在线视频一区 | 亚洲高清视频在线观看 | 久久国产综合 | 欧美视频一区二区 | 人人99| 欧美国产一区二区 | 国产精品久久久久久久久久久久久 | 成人激情在线观看 | 欧美精品一二三 | 国产片在线观看.com | 久久精品无码一区二区日韩av | 国产精品美女久久久 | 国产精品久久久久久久久久久久久 | 国产脚交av在线一区二区 |