一、MyBatis框架的優點:
1. 與JDBC相比,減少了50%以上的代碼量。
2. MyBatis是最簡單的持久化框架,小巧並且簡單易學。
3. MyBatis靈活,不會對應用程序或者數據庫的現有設計強加任何影響,SQL寫在XML里,從程序代碼中徹底分離,降低耦合度,便於統一管理和優化,可重用。
4. 提供XML標簽,支持編寫動態SQL語句(XML中使用if, else)。
5. 提供映射標簽,支持對象與數據庫的ORM字段關系映射(在XML中配置映射關系,也可以使用注解)。
二、MyBatis框架的缺點:
1. SQL語句的編寫工作量較大,尤其是字段多、關聯表多時,更是如此,對開發人員編寫SQL語句的功底有一定要求。
2. SQL語句依賴於數據庫,導致數據庫移植性差,不能隨意更換數據庫。
1.sql語句與代碼分離,存放於xml配置文件中:
優點:便於維護管理,不用在java代碼中找這些語句;
缺點:JDBC方式可以用斷點的方式調試,但是Mybatis不能,需要通過log4j日志輸出日志信息幫助調試,然后在配置文件中修改。
2.用邏輯標簽控制動態SQL的拼接:
優點:用標簽代替編寫邏輯代碼;
缺點:拼接復雜SQL語句時,沒有代碼靈活,拼寫比較復雜。不要使用變通的手段來應對這種復雜的語句。
3.查詢的結果集與java對象自動映射:
優點:保證名稱相同,配置好映射關系即可自動映射或者,不配置映射關系,通過配置列名=字段名也可完成自動映射。
缺點:對開發人員所寫的SQL依賴很強。
4.編寫原生SQL:
優點:接近JDBC,比較靈活。
缺點:對SQL語句依賴程度很高;並且屬於半自動,數據庫移植比較麻煩,比如mysql數據庫編程Oracle數據庫,部分的sql語句需要調整。
REF
https://www.cnblogs.com/liufei1983/p/8576479.html
https://www.cnblogs.com/weibanggang/p/9759018.html