激情久久久_欧美视频区_成人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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 在线看日本 | 国产精品成人一区二区三区吃奶 | 日本一级黄色大片 | 免费男女视频 | 草莓福利社区在线 | 污片在线观看视频 | 国产精品hd免费观看 | 日本在线免费观看视频 | 色中色在线播放 | 中文在线观看免费视频 | 国产精品久久久久久久午夜片 | 国产精品99一区二区 | 久久千人斩 | 91久久久久久久久久久久久 | 毛片在线免费视频 | 久久久久99精品 | 12av毛片 | hd极品free性xxx一护士 | 国产羞羞网站 | 黄色av网站在线观看 | 国产美女视频一区二区三区 | 亚洲va久久久噜噜噜久久男同 | 久久av一区二区 | 国产精品久久久久久久久久大牛 | chinese xxxxhd videos麻豆 | 欧美一级在线免费 | 国产精品久久久久久婷婷天堂 | av在线大全 | 法国性经典xxxhd | 免费一级肉体全黄毛片 | 成人免费观看49www在线观看 | 免费网站看毛片 | 国产一区二区免费看 | 国产成人在线看 | 午夜在线视频观看 | www.成人在线视频 | 极品大长腿啪啪高潮露脸 | 色屁屁xxxxⅹ在线视频 | 国产资源在线免费观看 | 黄色网址在线播放 | 91成人免费看 |