問題:JDBC編程有哪些不足之處,Mybatis是如何解決這些問題的?
1) 數(shù)據(jù)庫連接的創(chuàng)建、釋放頻繁造成系統(tǒng)資源浪費(fèi)從而影響了性能,如果使用數(shù)據(jù)庫連接池就可以解決這個(gè)問題。當(dāng)然JDBC同樣能夠使用數(shù)據(jù)源。
解決:在SQLMapConfig.xml中配置數(shù)據(jù)連接池,使用數(shù)據(jù)庫連接池管理數(shù)據(jù)庫連接。
2) SQL語句在寫代碼中不容易維護(hù),事件需求中SQL變化的可能性很大,SQL變動(dòng)需要改變JAVA代碼。解決:將SQL語句配置在mapper.xml文件中與java代碼分離。
3) 向SQL語句傳遞參數(shù)麻煩,因?yàn)镾QL語句的where條件不一定,可能多,也可能少,占位符需要和參數(shù)一一對(duì)應(yīng)。解決:Mybatis自動(dòng)將java對(duì)象映射到sql語句。
4) 對(duì)結(jié)果集解析麻煩,sql變化導(dǎo)致解析代碼變化,且解析前需要遍歷,如果能將數(shù)據(jù)庫記錄封裝成pojo對(duì)象解析比較方便。解決:Mbatis自動(dòng)將SQL執(zhí)行結(jié)果映射到j(luò)ava對(duì)象。
更多建議: