MyBatis環境配置及入門

Mybatis 開發環境搭建,選擇: MyEclipse8.5 版本,mysql 5.5, jdk 1.8, mybatis3.2.3.jar 包。這些軟件工具均可以到各自的官方網站上下載。

整個過程在概如下,

1. 在本教程中,建立 java 工程,但一般都是開發 web 項目,這個系列教程最後是 web,但這裏爲了方便學習,本教程前面建立的都是 java 工程。
2. 將 mybatis-3.2.3.jar,mysql-connector-java-5.1.25-bin.jar 創建兩個用戶自定庫(User Libary):mysql-connector 和 mybatis;
3. 創建 mysql 測試數據庫和用戶表, 注意,數據庫使用的是 utf-8 編碼。以解決不必要的中文亂碼問題。

一、創建 Java 工程

首先建立一個名字爲 Helloword 的 java project。選擇 "File" -> "New" ->"Java Project",如下圖所示:

MyBatis環境配置及入門

這樣就創建了一個 Java 工程了,我們繼續下一步。接下來我們在 mybatis-start 項目中加入兩個所需的程序庫:mysql-connector 和 mybatis,右鍵點擊 "mybatis-start" 項目,從彈出的菜單中選擇: "Build Path" -> "Add Libaries..." ,如下圖所示:

MyBatis環境配置及入門

從中選擇「User Library",點擊「Next>",創建兩個類庫爲:mysql-connector 和 mybatis,如下所示:

MyBatis環境配置及入門

點擊「User Libararies...",繼續下一步,創建一個新的類庫,如下圖所示:

MyBatis環境配置及入門

到此用戶的一個類庫創建完成,以相同的方式來創建另一個類庫:

二、創建數據庫和 User 表

創建所需的數據庫和表,要創建的數據庫是:yiibai,並在 yiibai 數據庫創建一個表:user,如下圖所示:

創建數據庫:yiibai,使用 utf-8 編碼。

MyBatis環境配置及入門

接下我們創建一個表:user,並插入一條記錄信息,其結構如下所示:

CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL DEFAULT '',
`dept` varchar(254) NOT NULL DEFAULT '',
`website` varchar(254) DEFAULT '',
`phone` varchar(16) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;


-- Records of user


INSERT INTO `user` VALUES ('1', 'yiibai', 'Tech', 'http://www.yiibai.com', '13800009988');

三、創建 Mybatis 配置文件

到此爲止,前期準備工作就完成了。下面開始真正配置 mybatis-start 項目。設置 mybatis 配置文件: Configure.xml, 在 src/config 目錄下建立此文件,內容如下:

                           
<mappers>
     <!-- // power by http://www.yiibai.com -->
     <mapper resource="com/yiibai/mybatis/models/User.xml" />
</mappers>

四、創建實體類和映射文件

首先創建一個包:com.yiibai.mybatis.models,並在下創建與數據庫表對應的 User.java 類及其映射文件:User.xml,詳細如下圖所示:

package com.yiibai.mybatis.models;

public class User {
private int id;
private String name;
private String dept;
private String phone;
private String website;

public String getWebsite() {
    return website;
}
public void setWebsite(String website) {
    this.website = website;
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getDept() {
    return dept;
}
public void setDept(String dept) {
    this.dept = dept;
}
public String getPhone() {
    return phone;
}
public void setPhone(String phone) {
    this.phone = phone;
}

}

同時建立這個 User 類對應的映射文件 User.xml,詳細如下代碼所示:

下面是對這幾個配置文件一點解釋說明:
1、配置文件 Configure.xml 是 mybatis 用來建立 sessionFactory,裏面主要包含了數據庫連接相關內容,還有 java 類所對應的別名,比如: 這個別名非常重要,在具體的類的映射中,比如:User.xml 中 resultType 就是對應這個。要保持一致,這裏的 resultType 還有另外單獨的定義方式,後面學習到我們再詳細介紹說明。
2、Configure.xml 裏面 的是包含要映射的類的 xml 配置文件。
3、在User.xml 文件裏面主要是定義各種 SQL 語句,以及這些語句的參數,以及要返回的類型等等。

五、運行程序測試結果

在 src 源碼目錄下建立 一個類叫作:HelloWord, 來運行測試配置環境是否成功,具體代碼如下示:

import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.yiibai.mybatis.models.*;

/**
*
* @author yiibai
* @copyright http://www.yiibai.com
* @date 2015/09/22
*/
public class HelloWord {
private static SqlSessionFactory sqlSessionFactory;
private static Reader reader;

static {
    try {
        reader = Resources.getResourceAsReader("config/Configure.xml");
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
public static SqlSessionFactory getSession() {
    return sqlSessionFactory;
}
/\*\*
 \* @param args
 \*/
public static void main(String\[\] args) {
    // TODO Auto-generated method stub
    SqlSession session = sqlSessionFactory.openSession();
    try {
        User user = (User) session.selectOne(
                "com.yiibai.mybatis.models.UserMapper.GetUserByID", 1);
        if(user!=null){
            String userInfo = "名字:"+user.getName()+", 所屬部門:"+user.getDept()+", 主頁:"+user.getWebsite();
            System.out.println(userInfo);
        }
    } finally {
        session.close();
    }
}

}

現在運行這個程序,不是得到查詢結果了?正確的輸出結果應該如下:

名字:yiibai, 所屬部門:Tech, 主頁:http://www.yiibai.com

MyBatis環境配置及入門

恭喜你,環境搭建配置成功,在接下來章節,我們將學習 Mybatis 的操作方式:增刪改查。

Jar 包下載:http://pan.baidu.com/s/1bnyRJ9H