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

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