你的位置:首页 > 软件开发 > ASP.net > Mybatis整合Spring(新)

Mybatis整合Spring(新)

发布时间:2015-08-10 01:00:15
根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持。因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求。下面就 ...

根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持。因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求。下面就将通过Mybatis-Spring来整合Mybatis跟Spring的用法做一个简单的介绍。

MapperFactoryBean

       首先,我们需要从Mybatis官网上下载Mybatis-Spring的jar包添加到我们项目的类路径下,当然也需要添加Mybatis的相关jar包和Spring的相关jar包。我们知道在Mybatis的所有操作都是基于一个SqlSession的,而SqlSession是由SqlSessionFactory来产生的,SqlSessionFactory又是由SqlSessionFactoryBuilder来生成的。但是Mybatis-Spring是基于SqlSessionFactoryBean的。在使用Mybatis-Spring的时候,我们也需要SqlSession,而且这个SqlSession是内嵌在程序中的,一般不需要我们直接访问。SqlSession也是由SqlSessionFactory来产生的,但是Mybatis-Spring给我们封装了一个SqlSessionFactoryBean,在这个bean里面还是通过SqlSessionFactoryBuilder来建立对应的SqlSessionFactory,进而获取到对应的SqlSession。通过SqlSessionFactoryBean我们可以通过对其指定一些属性来提供Mybatis的一些配置信息。所以接下来我们需要在Spring的applicationContext配置文件中定义一个SqlSessionFactoryBean。

 

  1. package com.tiantian.mybatis.mapper;  
  2.    
  3. import java.util.List;  
  4. import com.tiantian.mybatis.model.Blog;  
  5.    
  6. publicinterface BlogMapper {  
  7.    
  8.     public Blog selectBlog(int id);  
  9.      
  10.     publicvoid insertBlog(Blog blog);  
  11.      
  12.     publicvoid updateBlog(Blog blog);  
  13.      
  14.     publicvoid deleteBlog(int id);  
  15.      
  16.     public List<Blog> selectAll();  
  17.      
  18. }  
  1. package com.tiantian.mybatis.service.impl;  
  2.    
  3. import java.util.List;  
  4. import javax.annotation.Resource;  
  5. import org.springframework.stereotype.Service;  
  6. import com.tiantian.mybatis.mapper.BlogMapper;  
  7. import com.tiantian.mybatis.model.Blog;  
  8. import com.tiantian.mybatis.service.BlogService;  
  9.    
  10. @Service  
  11. publicclass BlogServiceImpl implements BlogService {  
  12.    
  13.     private BlogMapper blogMapper;  
  14.      
  15.     publicvoid deleteBlog(int id) {  
  16.        blogMapper.deleteBlog(id);  
  17.     }  
  18.    
  19.     public Blog find(int id) {  
  20.        returnblogMapper.selectBlog(id);  
  21.     }  
  22.    
  23.     public List<Blog> find() {  
  24.        returnblogMapper.selectAll();  
  25.     }  
  26.    
  27.     publicvoid insertBlog(Blog blog) {  
  28.        blogMapper.insertBlog(blog);  
  29.     }  
  30.    
  31.     publicvoid updateBlog(Blog blog) {  
  32.        blogMapper.updateBlog(blog);  
  33.     }  
  34.    
  35.     public BlogMapper getBlogMapper() {  
  36.        returnblogMapper;  
  37.     }  
  38.    
  39.     @Resource  
  40.     publicvoid setBlogMapper(BlogMapper blogMapper) {  
  41.        this.blogMapper = blogMapper;  
  42.     }  
  43.    
  44. }  
  1. package com.tiantian.mybatis.dao;  
  2.    
  3. import java.util.List;  
  4. import javax.annotation.Resource;  
  5. import org.mybatis.spring.SqlSessionTemplate;  
  6. import org.springframework.stereotype.Repository;  
  7. import com.tiantian.mybatis.model.Blog;  
  8.    
  9. @Repository  
  10. publicclass BlogDaoImpl implements BlogDao {  
  11.    
  12.     private SqlSessionTemplate sqlSessionTemplate;  
  13.    
  14.     publicvoid deleteBlog(int id) {  
  15.        sqlSessionTemplate.delete("com.tiantian.mybatis.mapper.BlogMapper.deleteBlog", id);  
  16.     }  
  17.    
  18.     public Blog find(int id) {  
  19.       returnsqlSessionTemplate.selectOne("com.tiantian.mybatis.mapper.BlogMapper.selectBlog", id);  
  20.     }  
  21.    
  22.     public List<Blog> find() {  
  23.        returnthis.sqlSessionTemplate.selectList("com.tiantian.mybatis.mapper.BlogMapper.selectAll");  
  24.     }  
  25.    
  26.     publicvoid insertBlog(Blog blog) {  
  27.        this.sqlSessionTemplate.insert("com.tiantian.mybatis.mapper.BlogMapper.insertBlog", blog);  
  28.     }  
  29.    
  30.     publicvoid updateBlog(Blog blog) {  
  31.        this.sqlSessionTemplate.update("com.tiantian.mybatis.mapper.BlogMapper.updateBlog", blog);  
  32.     }  
  33.      
  34.     public SqlSessionTemplate getSqlSessionTemplate() {  
  35.        returnsqlSessionTemplate;  
  36.     }  
  37.      
  38.     @Resource  
  39.     publicvoid setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {  
  40.        this.sqlSessionTemplate = sqlSessionTemplate;  
  41.     }  
  42.    
  43. }  

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Mybatis整合Spring(新)

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录