您好,登錄后才能下訂單哦!
直接上代碼:
mybatis配置中 添加 <property name="plugins"> 如下:
<bean id="sqlSessionFactory" class="com.hotent.core.mybatis.SqlSessionFactoryFactoryBean">
<property name="configLocation" value="classpath:/conf/configuration.xml"/>
<property name="mapperLocations" >
<list>
<value>classpath:/com/*/maper/*.map.xml</value>
</list>
</property>
<property name="dataSource" ref="dataSource"/>
<property name="plugins">
<ref bean="paginationInterceptor"/>
</property>
</bean>
<!-- MyBatis sql攔截器-->
<bean id="paginationInterceptor" class="com.mybatis.interceptor.PageInterceptor">
<property name="dialect" value="oracle"/>
<property name="pageSqlId" value=".*"/>
</bean>
有的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;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。