e2

滴滴侠,fai抖

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

上篇博客中介绍了关于Mybatis底层封装的思路问题,那么这篇博客,就介绍一下怎么引入通用的mapper插件。

备注:本项目通过maven管理

关键版本说明:

spring:4.1.3.RELEASE;Mybatis:3.2.8;mapper:3.3.7;persistence-api:1.0;MySQL:5.1.32


一、添加通用mapper相关依赖

  1. <dependency>  
  2.     <groupId>tk.mybatis</groupId>  
  3.     <artifactId>mapper</artifactId>  
  4.     <version>3.3.7</version>  
  5. </dependency>  
  6. <dependency>  
  7.     <groupId>javax.persistence</groupId>  
  8.     <artifactId>persistence-api</artifactId>  
  9.     <version>1.0</version>  
  10. </dependency>  

 

二、配置spring整合

  1. <!-- 配置扫描包,加载mapper代理对象 -->  
  2. <bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">  
  3. <property name="basePackage" value="Angel.mapper" />  
  4. </bean>  

 


注意:这里和spring配置扫描mapper文件是一样的,不一样的是,将org.mybatis.......换成了tk.mybatis........

对这一块有疑惑的,可以看看我之前关于SSM的配置总结,例如:【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤


三、具体应用

3.1,TbUserMapper接口

  1. package Angel.mapper;  
  2.   
  3. import tk.mybatis.mapper.common.Mapper;  
  4. import Angel.pojo.TbUser;  
  5.   
  6.   
  7. public interface TbUserMapper extends Mapper<TbUser>{  
  8.   
  9. }   


3.2,TbUserMapper.xml文件

  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. <mapper namespace="Angel.mapper.TbUserMapper" >    
  4.   <resultMap id="BaseResultMap" type="Angel.pojo.TbUser" >    
  5.     <id column="id" property="id" jdbcType="BIGINT" />    
  6.     <result column="username" property="username" jdbcType="VARCHAR" />    
  7.     <result column="password" property="password" jdbcType="VARCHAR" />    
  8.     <result column="phone" property="phone" jdbcType="VARCHAR" />    
  9.     <result column="email" property="email" jdbcType="VARCHAR" />    
  10.     <result column="created" property="created" jdbcType="TIMESTAMP" />    
  11.     <result column="updated" property="updated" jdbcType="TIMESTAMP" />    
  12.   </resultMap>    
  13.     
  14. </mapper>  


在这个里面,没有写任何的方法实现,仅有的代码,是为了避免实体属性名和字段名 不统一而写的。


3.3,userServiceImpl里面的实现(省略接口)

  1. import java.util.List;  
  2.   
  3. import org.springframework.beans.factory.annotation.Autowired;  
  4. import org.springframework.stereotype.Service;  
  5.   
  6. import Angel.mapper.TbUserMapper;  
  7. import Angel.pojo.TbUser;  
  8. import Angel.service.UserService;  
  9.   
  10. @Service(value="userService")    
  11. public class UserServiceImpl implements UserService {    
  12.     
  13.     @Autowired    
  14.     private TbUserMapper userMapper;    
  15.         
  16.     @Override  
  17.     public List<TbUser> selectAll() {  
  18.           
  19.         return userMapper.selectAll();  
  20.     }   
  21.       
  22. }   


附:通用接口所提供 的公共方法



从上图可以看出,引入公共mapper 后,已经具有其基础的数据库操作方法。

3.4,UserController文件

  1.     @Autowired  
  2.     private UserService userService;  
  3.   
  4.     @RequestMapping("/user/select")  
  5.     @ResponseBody  
  6.     public List<TbUser> selectUser() {  
  7.   
  8.         List<TbUser> list = userService.selectAll();  
  9.   
  10.         return list;  
  11.     }  

 

 

结果:



四、总结

到这里呢,Mybatis的总结就先告一段落,引入通用mapper之后,方便了很多,大大节省了开发时间。本来是想着自己封装的,但是,发现别人都已经把工作做完了,然后看了看人家的代码和封装的版本变更过程,收获还是挺大的。先拿过来用着吧!希望有一天,我能走在大家的前头,做点贡献!

posted on 2017-09-07 19:03  纯黑Se丶  阅读(224)  评论(0编辑  收藏  举报