MyBatis拦截器:给参数对象属性赋值的实例
该拦截器的作用:在进行增加、修改等操作时,给数据模型的一些通用操作属性(如:创建人、创建时间、修改人、修改时间等)自动赋值。
该实现是在DAO层拦截,即存入DB前最后一层。后经分析,不是很合理,改为在service层拦截,用springAOP来实现了,该代码遂弃用。不过已经测试可用,记录备忘。
packagecom.development;
importjava.lang.reflect.InvocationTargetException;
importjava.util.Date;
importjava.util.Map;
importjava.util.Properties;
importorg.apache.commons.beanutils.BeanUtils;
importorg.apache.ibatis.executor.Executor;
importorg.apache.ibatis.mapping.MappedStatement;
importorg.apache.ibatis.mapping.SqlCommandType;
importorg.apache.ibatis.plugin.Interceptor;
importorg.apache.ibatis.plugin.Intercepts;
importorg.apache.ibatis.plugin.Invocation;
importorg.apache.ibatis.plugin.Plugin;
importorg.apache.ibatis.plugin.Signature;
/**
*拦截器作用:给各实体对象在增加、修改时,自动添加操作属性信息。
*/
@Intercepts({@Signature(type=Executor.class,method="update",args={MappedStatement.class,Object.class})})
publicclassOpeInfoInterceptorimplementsInterceptor
{
publicObjectintercept(Invocationinvocation)throwsThrowable
{
Object[]args=invocation.getArgs();
System.out.println("-----------参数拦截---------------------------------------------------");
System.out.println("02当前线程ID:"+Thread.currentThread().getId());
//遍历处理所有参数,update方法有两个参数,参见Executor类中的update()方法。
for(inti=0;i
以上这篇MyBatis拦截器:给参数对象属性赋值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短