好多年前用過Hibernate,當時覺得ORM映射的概念牛逼又實用,一下子把數據庫應用(增刪改查)的開發簡單化了。 當時覺得唯一不足的是,當我的查詢很複雜時,比如說要同時用left join,right join好幾張表,數據量大又要強調查詢速度的時候,就覺得用回SQL比較方便。可能是因爲自己不是太熟悉,用的不夠靈活吧。
最近又研究了下ibatis和mybatis,跑了幾個實例後,發現把Hiberate的不足之處給解決了。
這裏先簡單總結它們的不同點。回家再詳細說明一下。
1. ibatis和mybatis都實現了ORM映射,同時又可以對SQL的寫法進行優化,可以根據具體的需求提高效率。
2. mybatis可以省略一個專門的實現類,只需要一個接口類就可以了。 要求它的實現接口的方法名和XML配置裏面的操作id (比如select id)一致。
3. ibatis不要求接口方法名與select id一致。從代碼結構設計的角度來說,寫一個接口的實現類比較合理一點。