MyBatis配置及入門

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

1、建立 Java 工程

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

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

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

點擊「User Libararies...",繼續下一步,建立一個新的類庫,以下圖所示:數據庫

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

 

2、建立數據庫和 User 表

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

建立數據庫:Dome,使用 utf-8 編碼。mybatis

接下咱們建立一個表:user,並插入一條記錄信息,其結構以下所示:app

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');

3、建立 Mybatis 配置文件

程序代碼

下面開始真正配置 mybatis-start 項目。設置 mybatis 配置文件: Configure.xml, 在 src/config 目錄下創建此文件,內容以下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<typeAliases>
		<typeAlias alias="User" type="com.yiibai.mybatis.models.User" />
	</typeAliases>
	<environments default="development">
	    <environment id="development">
		<transactionManager type="JDBC" />
			<dataSource type="POOLED">  
                            <property name="driver" value="com.mysql.jdbc.Driver" />
			    <property name="url" value="jdbc:mysql://127.0.0.1:3306/yiibai" />
			    <property name="username" value="root" />
			    <property name="password" value="" />
                       </dataSource>
		</environment>
	</environments>

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

4、建立實體類和映射文件

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

 

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,詳細以下代碼所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.yiibai.mybatis.models.UserMapper">
	<select id="GetUserByID" parameterType="int" resultType="User">
		select * from `user` where id = #{id}
    </select>
</mapper>

下面是對這幾個配置文件一點解釋說明:
一、配置文件 Configure.xml 是 mybatis 用來創建 sessionFactory,裏面主要包含了數據庫鏈接相關內容,還有 java 類所對應的別名,好比:<typeAlias alias="User" type="com.yiibai.mybatis.models.User"/> 這個別名很是重要,在具體的類的映射中,好比:User.xml 中 resultType 就是對應這個。要保持一致,這裏的 resultType 還有另外單獨的定義方式,後面學習到咱們再詳細介紹說明。
二、Configure.xml 裏面 的<mapper resource="com/yiibai/mybatis/models/User.xml"/>是包含要映射的類的 xml 配置文件。
三、在User.xml 文件裏面主要是定義各類 SQL 語句,以及這些語句的參數,以及要返回的類型等等。

5、運行程序測試結果

在 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();
		}
	}

}

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

 

 

恭喜你,環境搭建配置成功。

相關文章
相關標籤/搜索