Mybatis 開(kāi)發(fā)環(huán)境搭建,選擇: MyEclipse8.5 版本,mysql 5.5, jdk 1.8, mybatis3.2.3.jar 包。這些軟件工具均可以到各自的官方網(wǎng)站上下載。
整個(gè)過(guò)程在概如下,
1. 在本教程中,建立 java 工程,但一般都是開(kāi)發(fā) web 項(xiàng)目,這個(gè)系列教程最后是 web,但這里為了方便學(xué)習(xí),本教程前面建立的都是 java 工程。首先建立一個(gè)名字為 Helloword 的 java project。選擇 "File" -> "New" ->"Java Project",如下圖所示:
這樣就創(chuàng)建了一個(gè) Java 工程了,我們繼續(xù)下一步。接下來(lái)我們?cè)?mybatis-start 項(xiàng)目中加入兩個(gè)所需的程序庫(kù):mysql-connector 和 mybatis,右鍵點(diǎn)擊 "mybatis-start" 項(xiàng)目,從彈出的菜單中選擇: "Build Path" -> "Add Libaries..." ,如下圖所示:
從中選擇“User Library",點(diǎn)擊“Next>",創(chuàng)建兩個(gè)類(lèi)庫(kù)為:mysql-connector 和 mybatis,如下所示:
點(diǎn)擊“User Libararies...",繼續(xù)下一步,創(chuàng)建一個(gè)新的類(lèi)庫(kù),如下圖所示:
到此用戶的一個(gè)類(lèi)庫(kù)創(chuàng)建完成,以相同的方式來(lái)創(chuàng)建另一個(gè)類(lèi)庫(kù):
創(chuàng)建所需的數(shù)據(jù)庫(kù)和表,要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)是:yiibai,并在 yiibai 數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)表:user,如下圖所示:
創(chuàng)建數(shù)據(jù)庫(kù):yiibai,使用 utf-8 編碼。
接下我們創(chuàng)建一個(gè)表:user,并插入一條記錄信息,其結(jié)構(gòu)如下所示:
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');
<?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>
首先創(chuàng)建一個(gè)包:com.yiibai.mybatis.models,并在下創(chuàng)建與數(shù)據(jù)庫(kù)表對(duì)應(yīng)的 User.java 類(lèi)及其映射文件:User.xml,詳細(xì)如下圖所示:
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; } }
同時(shí)建立這個(gè) User 類(lèi)對(duì)應(yīng)的映射文件 User.xml,詳細(xì)如下代碼所示:
<?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>下面是對(duì)這幾個(gè)配置文件一點(diǎn)解釋說(shuō)明:
在 src 源碼目錄下建立 一個(gè)類(lèi)叫作:HelloWord, 來(lái)運(yùn)行測(cè)試配置環(huán)境是否成功,具體代碼如下示:
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()+", 所屬部門(mén):"+user.getDept()+", 主頁(yè):"+user.getWebsite(); System.out.println(userInfo); } } finally { session.close(); } } }
現(xiàn)在運(yùn)行這個(gè)程序,不是得到查詢結(jié)果了?正確的輸出結(jié)果應(yīng)該如下:
名字:yiibai, 所屬部門(mén):Tech, 主頁(yè):http://www.yiibai.com
恭喜你,環(huán)境搭建配置成功,在接下來(lái)章節(jié),我們將學(xué)習(xí) Mybatis 的操作方式:增刪改查。
Jar 包下載:http://pan.baidu.com/s/1bnyRJ9H