spring mvc 配置 mybatis sql拦截器
直接上代码:
mybatis配置中 添加
有的SqlSessionFactoryFactoryBean类中没有plugins属性
(private Interceptor[] plugins;生成setter方法 ),
定义属性后将插件添加到Configuration conf = sqlSessionFactory.getConfiguration();如下
if (null!=this.plugins) {
for (Interceptor plugin : this.plugins) {
conf.addInterceptor(plugin);
if (this.logger.isDebugEnabled()) {
this.logger.debug("Registered plugin: '" + plugin + "'");
}
}
}
关于拦截类 PageInterceptor
如果要保存sql以及sql对应的值问题:
sql数据问题:sql中有特殊符号是无法保存到数据库中的,通过url编码后保存到数据库,如果要查看时再反编码即可
sql对应值的问题:1.对象转为json数据,2,直接获取
public static String getStringParame(Object obj){
JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象
String str = json.toString();//将json对象转换为字符串
//不是json直接返回字符串
if(str.equals("") || str.equals("{}")){
str = obj.toString();
}
return str;
}