MyBatis拦截器:给参数对象属性赋值的实例

  

在进行增加,修改等操作时,给数据模型的一些通用操作属性(如:创建人,创建时间,修改人,修改时间等)自动赋值。

  

该实现是在DAO层拦截,即存入DB前最后一层。后经分析,不是很合理,改为在服务层拦截,用spring AOP来实现了,该代码遂弃用。不过已经测试可用,记录备忘。
  

        包com.development;      进口java.lang.reflect.InvocationTargetException;   进口java.util.Date;   进口java.util.Map;   进口java.util.Properties;      进口org.apache.commons.beanutils.BeanUtils;   进口org.apache.ibatis.executor.Executor;   进口org.apache.ibatis.mapping.MappedStatement;   进口org.apache.ibatis.mapping.SqlCommandType;   进口org.apache.ibatis.plugin.Interceptor;   进口org.apache.ibatis.plugin.Intercepts;   进口org.apache.ibatis.plugin.Invocation;   进口org.apache.ibatis.plugin.Plugin;   进口org.apache.ibatis.plugin.Signature;/* *   *拦截器作用:给各实体对象在增加,修改时,自动添加操作属性信息。   */@Intercepts ({@Signature(类型=执行人。类,方法="更新",arg游戏={MappedStatement。类,对象。类})})   公共类OpeInfoInterceptor实现拦截器   {      公共对象拦截(调用调用)抛出Throwable   {   对象[]参数=invocation.getArgs ();      System.out.println(“- - - - - - - - - - - -参数拦截- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”);   system . out。println(“02当前线程ID:”+ Thread.currentThread () .getId ());//遍历处理所有参数,更新方法有两个参数,参见Executor类中的更新()方法。   for (int i=0; i      

以上这篇MyBatis拦截器:给参数对象属性赋值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

MyBatis拦截器:给参数对象属性赋值的实例