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也支持非接口的编程,因为在开发中一般都会面向接口,所以,这里就不再赘述。

版权声明:本文为博主原创文章,未经博主允许不得转载。

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