這篇博客只會介紹Mybatis怎麼樣去配置和怎麼通過Mybatis去操作數據庫
我們首先要在官網上下載我們需要的文件,最好把源碼也下載下來,方便我們研究它是怎麼樣實現。同時你要是不喜歡看英文的API,那你還要找中文的API。
一、創建一個JAVA工程(Web也行),加入我們需要的架包(Mybatis的核心架包、日誌文件log4.jar與你使用的數據庫驅動的架包)。
二、配置三個重要的文件
MyBatis的核心配置文件resource.xml,如何配置,其實很簡單,找到API中Mybatis入門中就有這樣的例子,把它複製過,然後修改成我們需要的文件。這個文件的配置的屬性是有前後順序的,你可以把 鼠標 放到根結點(configuration)上,你會看到的順序是怎麼樣的,如果你實的順序與不對,IDE會提示你錯誤信息。
新建一個數據庫屬性文件(這裏使用的Oracle數據庫,修改成自己的就可以了)
配置log4j.properties文件(你可以自己上網找自己喜歡的,網上也配置的介紹)
三、實體類與表的映射
新建一個實體類(每個字段與表中的一致,如果不一致,則需要在查詢語句中添加別名(實體類中與表的對應的字段 , 如表中字段爲id,類中字段爲sId,則查詢語句可以這樣寫 select id sId , ..... from Student)resultMap的使用不說,因爲這裏只是入門),不過最好使用字段與表中字段一致,這樣更更符合代碼規範。一定要有get與set的方法。
四、三個進行數據庫操作的方法
1)新建一個Student.xml配置文件,我們一樣去API中找(入門那節有),使用SqlSession中自帶的方法進行查詢,方法的第一個參數都namespace對應值.要調用的Id(比如這裏是com.bean.Student.list)。在配置文件中parameterType要指要接收參數的類型,還可以是使用parameterMap(少用),兩者不能同時使用。同時要在resource.xml中的mappers添加sudent.xml的註冊,如<mapper resource="com/bean/Student.xml"/> 。
sudent.xml
測試代碼
2)通過自己定義的接口來實現對數據庫的操作,修改namespace的值成接口的全路徑,每個對數據庫操作的語句的Id與接口對應的方法的命名一致,通過SqlSessionget的Mapper()方法得到接口的實例化對象。多參數(一個參數,沒有什麼影響)要在接口的方法上指定參數叫什麼,如queryList(@Param("name") String name , @Param("address") String address),不然它使用默認的param1....paramN這樣的命名,對於我的程序來說,是一點意義都沒有的,不然我們在SQL裏面只能通過param1這樣的值來進行標記
修改後的Sudent.xml
IStudentDao
測試代碼
3)不使用Student.xml配置文件,直接在接口方法上使用@Select來寫入SQl語句,不過需要把這個接口註冊到resource.xml中的mappers中,如<mapper class="com.dao.IStudentDao2"/>
接口IStudentDao2
測試代碼
以上是Mybatis進行數據庫操作的三種形式,其中最常用的是第二種,最好不使用的是第三種,因爲它已經把SQL語句寫到類中,那樣不便於後期的維護。