這裏重點是配置測試環境的搭建:mysql數據庫、Eclipse、Mybatis3.2.0、jdk1.7。
一、準備數據庫:
創建一個名稱爲Mybatis的數據庫,編碼UTF-8,創建一個user表,並添加一條記錄。
- Create TABLE `user` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `userName` varchar(50) DEFAULT NULL,
- `userAge` int(11) DEFAULT NULL,
- `userAddress` varchar(200) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
- Insert INTO `user` VALUES ('1', '陸遜', '25', '萬達廣場');
二、源碼目錄結構:
三、配置文件:
Configuration.xml的內容如下:
- <?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.tgb.mybatis.model.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/mybatis" />
- <property name="username" value="root"/>
- <property name="password" value="123"/>
- </dataSource>
- </environment>
- </environments>
- <mappers>
- <mapper resource="com/tgb/mybatis/model/User.xml"/>
- </mappers>
- </configuration>
四、實體模型:
pojo類型,User包含以下字段:
- public class User {
- private int id;
- private String userName;
- private int userAge;
- private String userAddress;
- //get 、set 方法略
- }
五、定義接口:
- public interface IUserOperation {
- /*
- * 這裏面有一個方法名 selectUserByID 必須與 User.xml 裏面配置的 select 的id 對應(<select
- * id="selectUserByID")
- */
- public User selectUserByID(int id);
- }
六、映射文件:
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.tgb.mybatis.inter.IUserOperation">
- <!-- com.yihaomen.mybatis.model.UserMapper -->
- <!-- resultType的值要和Configuration.xml中的實體User的別名相同 -->
- <select id="selectUserByID" parameterType="int" resultType="User">
- select * from `user` where id = #{id}
- </select>
- </mapper>
配置文件是Mybatis的核心,需要遵循下面的規則:
接口中的方法名和參數和配置文件中的id和parameterType分別對應,sql寫在配置文件中,參數和調用的類test中的方法一致。sql語句中的參數和實體中的字段名一致,大小寫敏感。
七、測試:
- package com.tgb.test;
- import java.io.Reader;
- import java.util.List;
- 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.tgb.mybatis.inter.IUserOperation;
- import com.tgb.mybatis.model.User;
- public class Test {
- private static SqlSessionFactory sqlSessionFactory;
- private static Reader reader;
- static {
- try {
- // 最終實現了從配置文件中配置工廠的初始化
- reader = Resources.getResourceAsReader("Configuration.xml");
- sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static SqlSessionFactory getSession() {
- return sqlSessionFactory;
- }
- public static void main(String[] args) {
- //測試接口返回用戶list列表
- Test testUser=new Test();
- testUser.selectUserByID(1);
- }
- }
八、總結:
這裏重點是搭建一個Mybatis的環境,相關的jar包可以從這裏下載,下篇文章會對具體的語法進行解釋,並會展示增刪改查的操作。
配置文件是核心,需要遵循如下規則: 接口中的方法名和參數和配置文件中的id和parameterType分別對應,sql寫在配置文件中,參數和調用的類test中的方法一致。sql語句中的參數和實體中的字段名一致,大小寫敏感。
另外,Mybatis也支持非接口的編程,因爲在開發中一般都會面向接口,所以,這裏就不再贅述。
版權聲明:本文爲博主原創文章,未經博主允許不得轉載。