目錄
- 1、什麼是MyBatis?
- 2、MyBatis 入門實例基於xml配置
- 3、MyBatis 入門實例註解配置
- 4、MyBatis 入門實例 一對一 基於xml配置
- 4、MyBatis 入門實例 一對多,多對一 基於xml配置
- 5、MyBatis 入門實例 多對多 基於xml配置
1、什麼是MyBatis?
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,並且改名爲MyBatis 。2013年11月遷移到Github。
iBATIS一詞來源於“internet”和“abatis”的組合,是一個基於Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)。
MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis 使用簡單的 XML或註解用於配置和原始映射,將接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java對象)映射成數據庫中的記錄。
PS:本文所有代碼下載鏈接:http://pan.baidu.com/s/1gf8CPQN 密碼:t2x9
再給大家推薦一個比較好的mybatis學習網站:www.mybatis.cn
2、MyBatis 入門實例基於xml配置
①、創建MySQL數據庫:mybatisDemo和表:person
1 2 3 |
|
②、建立一個Java工程,並導入相應的jar包
相應的 jar 包下載鏈接:http://pan.baidu.com/s/1skZM09Z 密碼:nkt6
③、在 MyBatisDemo 工程中添加數據庫配置文件 mybatis-configuration.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
④、定義表所對應的實體類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
⑤、定義操作 person 表的sql映射文件personMapper.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
⑥、向 mybatis-configuration.xml 配置文件中註冊 personMapper.xml 文件
1 2 3 4 5 |
|
如下圖所示:
⑦、創建測試類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
|
3、MyBatis 入門實例註解配置
①、上面的前面四步都是一樣的,但是第五步不一樣,我們不需要創建 personMapper.xml 文件,首先在 src 目錄下創建 personMapper.java 文件
內容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
②、向 mybatis-configuration.xml 配置文件中註冊 personMapper.xml 文件
③、編寫測試類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
4、MyBatis 入門實例 一對一 基於xml配置
這裏我們以老師和班級爲例,假設一般班級只能擁有有一個老師,一個老師只能帶一個班級。
①、創建實體類
Teacher.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
Classes.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
②、在數據庫中根據實體類創建相應的數據表
③、定義操作 Classes 表的sql映射文件classesMapper.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
|
說明:我們這裏一對一的關聯操作,有兩種方式:
1、使用嵌套結果映射來處理重複的聯合結果的子集
2、通過執行另外一個SQL映射語句來返回預期的複雜類型
相關屬性解釋:
④、向 mybatis-configuration.xml 配置文件中註冊 classesMapper.xml 文件
⑤、編寫測試類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
4、MyBatis 入門實例 一對多,多對一 基於xml配置
這裏我們以班級和學生爲例,一個班級裏面對應多個學生,這是一對多;反過來,多個學生對應一個班級,這是多對一
①、建立學生和班級的實體類
Student.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
Classes.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
②、在數據庫中根據實體類創建相應的數據表
③、多對一:定義操作 Classes 表的sql映射文件classesMapper.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
④、一對多:定義操作 Student 表的sql映射文件studentMapper.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
⑤、向 mybatis-configuration.xml 配置文件中註冊 classesMapper.xml 、studentMapper.xml文件
⑥、編寫測試類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
5、MyBatis 入門實例 多對多 基於xml配置
這裏我們以 users 表和 groups 表爲例,一個 users 可能加入多個 groups,而一個 groups 可能包含多個 users,故構成 多對多 的關聯
①、在數據庫中建立相應的表
users 表
groups 表
兩者之間的關聯表users_groups表
②、建立對應的實體類
Users.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
Groups.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
Users_Groups.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
③、多對多:定義操作 sql映射文件userMapper.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
⑤、向 mybatis-configuration.xml 配置文件中註冊 userMapper.xml文件
⑥、編寫測試類
1 2 3 4 5 6 7 8 9 |
|