奮斗了好幾個晚上調試程序,寫了好幾篇博客,終于建立起了Mybatis配置的擴展機制。雖然擴展機制是重要的,然而如果沒有真正實用的擴展功能,那也至少是不那么鼓舞人心的,這篇博客就來舉幾個擴展的例子。

這次研讀源碼的起因是Oracle和MySQL數(shù)據(jù)庫的兼容性,比如在Oracle中使用雙豎線作為連接符,而MySQL中使用CONCAT函數(shù);比如Oracle中可以使用DECODE函數(shù),而MySQL中只能使用標準的CASE WHEN;又比如Oracle中可以執(zhí)行DELETE FORM TABLE WHERE FIELD1 IN (SELECT FIELD1 FORM TABLE WHERE FIELD2=?),但是MySQL中會拋出異常,等等。下面就從解決這些兼容性問題開始,首先需要在配置中添加數(shù)據(jù)庫標識相關的配置:

復制代碼
<!-- 自行構建Configuration對象 --> <bean id="mybatisConfig" class="org.dysd.dao.mybatis.schema.SchemaConfiguration"/> <bean id="sqlSessionFactory" p:dataSource-ref="dataSource" class="org.dysd.dao.mybatis.schema.SchemaSqlSessionFactoryBean"> <!--
        		

網(wǎng)友評論