spring mvc與Mybatis整合——(二)mybatis環境搭建

這裏重點是配置測試環境的搭建:mysql數據庫、Eclipse、Mybatis3.2.0、jdk1.7。


一、準備數據庫:

    創建一個名稱爲Mybatis的數據庫,編碼UTF-8,創建一個user表,並添加一條記錄。

  1. Create TABLE `user` (  
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,  
  3.   `userName` varchar(50) DEFAULT NULL,  
  4.   `userAge` int(11) DEFAULT NULL,  
  5.   `userAddress` varchar(200) DEFAULT NULL,  
  6.   PRIMARY KEY (`id`)  
  7. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;  
  8.   
  9. Insert INTO `userVALUES ('1''陸遜''25''萬達廣場');  


二、源碼目錄結構:



三、配置文件:

    Configuration.xml的內容如下:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  3. <configuration>  
  4.     <typeAliases>   
  5.         <typeAlias alias="User" type="com.tgb.mybatis.model.User"/>  
  6.     </typeAliases>   
  7.   
  8.     <environments default="development">  
  9.         <environment id="development">  
  10.         <transactionManager type="JDBC"/>  
  11.             <dataSource type="POOLED">  
  12.             <property name="driver" value="com.mysql.jdbc.Driver"/>  
  13.             <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" />  
  14.             <property name="username" value="root"/>  
  15.             <property name="password" value="123"/>  
  16.             </dataSource>  
  17.         </environment>  
  18.     </environments>  
  19.       
  20.     <mappers>  
  21.         <mapper resource="com/tgb/mybatis/model/User.xml"/>  
  22.           
  23.     </mappers>  
  24. </configuration>  
配置文件中配置了要掃描的映射的xml文件,數據庫連接信息,以及實體的別稱,整體上跟hibernate很像。


四、實體模型:

     pojo類型,User包含以下字段:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. public class User {  
  2.         
  3.     private int id;  
  4.     private String userName;  
  5.     private int userAge;  
  6.     private String userAddress;  
  7.   
  8.     //get 、set 方法略  
  9. }  


五、定義接口:    

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. public interface IUserOperation {  
  2.     /* 
  3.      * 這裏面有一個方法名 selectUserByID 必須與 User.xml 裏面配置的 select 的id 對應(<select 
  4.      * id="selectUserByID") 
  5.      */  
  6.     public User selectUserByID(int id);  
  7.       
  8.           
  9. }  
    跟普通的接口沒有兩樣。

六、映射文件:

User.xml內容如下:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  3.   
  4. <mapper namespace="com.tgb.mybatis.inter.IUserOperation">  
  5.   
  6. <!-- com.yihaomen.mybatis.model.UserMapper -->  
  7.   
  8.     <!-- resultType的值要和Configuration.xml中的實體User的別名相同 -->  
  9.     <select id="selectUserByID" parameterType="int" resultType="User">  
  10.         select * from `user` where id = #{id}  
  11.     </select>  
  12.       
  13. </mapper>  

配置文件是Mybatis的核心,需要遵循下面的規則:

    接口中的方法名和參數和配置文件中的id和parameterType分別對應,sql寫在配置文件中,參數和調用的類test中的方法一致。sql語句中的參數和實體中的字段名一致,大小寫敏感。

  

七、測試:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. package com.tgb.test;  
  2.   
  3. import java.io.Reader;  
  4. import java.util.List;  
  5.   
  6. import org.apache.ibatis.io.Resources;  
  7. import org.apache.ibatis.session.SqlSession;  
  8. import org.apache.ibatis.session.SqlSessionFactory;  
  9. import org.apache.ibatis.session.SqlSessionFactoryBuilder;  
  10. import com.tgb.mybatis.inter.IUserOperation;  
  11. import com.tgb.mybatis.model.User;  
  12.   
  13.   
  14. public class Test {  
  15.   
  16.     private static SqlSessionFactory sqlSessionFactory;  
  17.     private static Reader reader;  
  18.   
  19.     static {  
  20.         try {  
  21.             // 最終實現了從配置文件中配置工廠的初始化  
  22.             reader = Resources.getResourceAsReader("Configuration.xml");  
  23.             sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);  
  24.         } catch (Exception e) {  
  25.             e.printStackTrace();  
  26.         }  
  27.     }  
  28.   
  29.     public static SqlSessionFactory getSession() {  
  30.         return sqlSessionFactory;  
  31.     }  
  32.   
  33.       
  34.     public static void main(String[] args) {      
  35.   
  36.         //測試接口返回用戶list列表  
  37.          Test testUser=new Test();  
  38.          testUser.selectUserByID(1);              
  39.         
  40.   
  41.     }  
  42.   
  43. }  

八、總結:

    這裏重點是搭建一個Mybatis的環境,相關的jar包可以從這裏下載,下篇文章會對具體的語法進行解釋,並會展示增刪改查的操作。

    配置文件是核心,需要遵循如下規則: 接口中的方法名和參數和配置文件中的id和parameterType分別對應,sql寫在配置文件中,參數和調用的類test中的方法一致。sql語句中的參數和實體中的字段名一致,大小寫敏感。

    另外,Mybatis也支持非接口的編程,因爲在開發中一般都會面向接口,所以,這裏就不再贅述。

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章