mybatis与spring的整合经过

防止以后忘记,所以我现在写下做纪念:

第一步:下载相关的包

我是使用maven自动添加依赖:

主要需要的包有

  • commons-collections
  • mysql-connector-java
  • commons-pool
  • commons-dbcp
  • mybatis-spring
  • mybatis
    这上面是除了spring需要的包外的整合mybatis的包

第二步:设计数据库

我们的最终目标还是读出数据库之中的数据,首先我们建立一张表,表的ddl如下

CREATE TABLE `user` (
`state` int(11) DEFAULT NULL,
`name` char(20) DEFAULT NULL,
`pwd` char(100) DEFAULT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
)
和我们的表相对应的类我们取名字为User 代码如下
public class User {

private int id;
private String pwd;
private String name;
private int state;

//setter & getter

}
第三步:创建对User表操作的接口 我们使用mybatis操作数据库,那么我们就要符合mybatis的规范,mybatis中可以建立接口对数据库操作,其余的对象只需要调用调用接口就可以对数据库进行操作了,神奇的是,我们并不需要对这个接口进行实现,因为我们只需要写一个xml的文本就可以代表实现这个接口,这样子我们就不需要管建立连接等等乱七八糟的事儿,大大的简化了我们的劳动量,废话不说, 先创建User的接口,我取名字叫做UserMapper
public interface UserMapper {
//增加用户
void addUser(User u);

//删除用户
void deleteUser(User u);

//更新用户信息
void updateUser(User u);

//的到用户信息
User getUserById(int id);

//得到用户数目
int getUserNum();

}
这下我们创建好了,下一步我们就需要创建记录描述的该接口的具体业务sql的xml文件了 第四步:创建描述sql的xml文件 文件类容如下



 
     

     

     
         INSERT
         INTO user(name,pwd,state)
         VALUES(#{name},#{pwd},#{state})
     

     
         UPDATE user
         SET
         name=#{name}
         WHERE
         id=#{id}
     

      
         UPDATE user
         SET
         state=#{state}
         WHERE
         id=#{id}
     

 

我们命名为User.xml

第五步:配置mybatis配置文件

我们要配置好mybatis的配置文件,mybatis的配置文件的作用还是主要是

在res下建立一个新的xml文件作为mybatis的配置文件,我取名字叫做mybatis-config.xml

这个配置文件里面主要有2个标签

  
      
 
这里是给对象模型取个别名,因为和数据库中表相对应的对象可以在很深的包里面,在其余的地方引用的话会让人很不方便,于是就可以去个别名,让引用变得更加方便。实例如下:
` <typeAliases> <typeAlias type="daoBean.User" alias="User" /> </typeAliases>`
我们把daoBean这个包里面的User取了个别名叫做User,这样我们在需要些daoBean.User的地方就可以直接写User 和 <mappers> 这个是指示出映射文件的位置 比如说找到我们刚刚写的那个sql的xml文件的位置


  
      
        
    
  

第六步:配置spring的配置文件

在这里我遇到了一个坑,就是这个配置文件前面beans的xmlns的域名一堆的schema文件位置

我直接copy了一份,准备找个时间在细细的研究


...


这个问题解决掉了之后,我们第一步要配置数据源

        
            
            
            
            
        

第二步就是

        
        
            
            
                

sqlSessionFactory是mybatis里面很牛叉的东西,不信去百度

最后一个配置项就是需要将我们先前写的接口写进来,靠着这个来与写着sql的xml文件建立一一对应的关系。

有2中方式

大家看


        
                第二种
        
            
        

这样子我们就做完所有的工作了