1.數(shù)據(jù)庫鏈接創(chuàng)建黍析、釋放頻繁造成系統(tǒng)資源浪費從而影響系統(tǒng)性能黔州,如果使用數(shù)據(jù)庫鏈接池可解決此問題。
MyBatis解決:
?在SqlMapConfig.xml 中配置數(shù)據(jù)鏈接池,使用連接池管理數(shù)據(jù)庫鏈接吱肌。
2.Sql 語句寫在代碼中造成代碼不易維護痘拆,實際應(yīng)用 sql 變化的可能較大, sql 變動需要改變 java 代碼氮墨。
MyBatis解決:
?將Sql 語句配置在 XXXXmapper.xml 文件中與 java 代碼分離纺蛆。
3.向 sql 語句傳參數(shù)麻煩,因為 sql 語句的 where 條件不一定规揪,可能多也可能少桥氏,占位符需要和參數(shù)一一對應(yīng)。
MyBatis解決:
?Mybatis 自動將 java 對象映射至 sql 語句猛铅,通過 statement 中的 parameterType 定義輸入?yún)?shù)的
類型并自動完成參數(shù)的注入字支。
4.對結(jié)果集解析麻煩, sql 變化導(dǎo)致解析代碼變化奸忽,且解析前需要遍歷堕伪,如果能將數(shù)據(jù)庫記錄封裝成pojo 對象解析比較方便。
MyBatis解決:
Mybatis 自動將 sql 執(zhí)行結(jié)果映射至 java 對象栗菜,通過 statement 中的 resultType 定義輸出結(jié)果的類型并自動完成結(jié)果集的封裝欠雌。