咱們使用JSP+Servlet作Web應用的時候常常使用JDBC做爲數據庫的鏈接,那麼,直接使用JDBC操做數據庫進行增刪改查是有必定弊端的,正由於如此才衍生出了Hibernate、MyBatis等一系列優秀的ORM框架,咱們來看看原生態jdbc編程中的問題總結:java
一、數據庫鏈接,使用時就建立,不使用當即釋放,對數據庫進行頻繁鏈接開啓和關閉,形成數據庫資源浪費,影響 數據庫性能。
設想:使用數據庫鏈接池管理數據庫鏈接。
二、將sql語句硬編碼到java代碼中,若是sql 語句修改,須要從新編譯java代碼,不利於系統維護。
設想:將sql語句配置在xml配置文件中,即便sql變化,不須要對java代碼進行從新編譯。
三、向preparedStatement中設置參數,對佔位符號位置和設置參數值,硬編碼在java代碼中,不利於系統維護。
設想:將sql語句及佔位符號和參數所有配置在xml中。
四、從resutSet中遍歷結果集數據時,存在硬編碼,將獲取表的字段進行硬編碼,,不利於系統維護。
設想:將查詢的結果集,自動映射成java對象。git
下面我來介紹一下MyBatis框架:程序員
1.mybatis是什麼?
mybatis是一個持久層的框架,是apache下的頂級項目(MyBatis的前身是IBatis)。
mybatis託管到goolecode下,再後來託管到github下(https://github.com/mybatis/mybatis-3/releases)。
mybatis讓程序將主要精力放在sql上,經過mybatis提供的映射方式,自由靈活生成(半自動化,大部分須要程序員編寫sql)知足須要sql語句。
mybatis能夠將向 preparedStatement中的輸入參數自動進行輸入映射,將查詢結果集靈活映射成java對象。(輸出映射)
2.mybatis框架github
如圖
web
後期我將結合看過的教學視頻的實例帶領你們走進MyBatis的世界。sql