根据官方的说法,在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。
- package com.tiantian.mybatis.mapper;
-
- import java.util.List;
- import com.tiantian.mybatis.model.Blog;
-
- publicinterface BlogMapper {
-
- public Blog selectBlog(int id);
-
- publicvoid insertBlog(Blog blog);
-
- publicvoid updateBlog(Blog blog);
-
- publicvoid deleteBlog(int id);
-
- public List<Blog> selectAll();
-
- }
- package com.tiantian.mybatis.service.impl;
-
- import java.util.List;
- import javax.annotation.Resource;
- import org.springframework.stereotype.Service;
- import com.tiantian.mybatis.mapper.BlogMapper;
- import com.tiantian.mybatis.model.Blog;
- import com.tiantian.mybatis.service.BlogService;
-
- @Service
- publicclass BlogServiceImpl implements BlogService {
-
- private BlogMapper blogMapper;
-
- publicvoid deleteBlog(int id) {
- blogMapper.deleteBlog(id);
- }
-
- public Blog find(int id) {
- returnblogMapper.selectBlog(id);
- }
-
- public List<Blog> find() {
- returnblogMapper.selectAll();
- }
-
- publicvoid insertBlog(Blog blog) {
- blogMapper.insertBlog(blog);
- }
-
- publicvoid updateBlog(Blog blog) {
- blogMapper.updateBlog(blog);
- }
-
- public BlogMapper getBlogMapper() {
- returnblogMapper;
- }
-
- @Resource
- publicvoid setBlogMapper(BlogMapper blogMapper) {
- this.blogMapper = blogMapper;
- }
-
- }
- package com.tiantian.mybatis.dao;
-
- import java.util.List;
- import javax.annotation.Resource;
- import org.mybatis.spring.SqlSessionTemplate;
- import org.springframework.stereotype.Repository;
- import com.tiantian.mybatis.model.Blog;
-
- @Repository
- publicclass BlogDaoImpl implements BlogDao {
-
- private SqlSessionTemplate sqlSessionTemplate;
-
- publicvoid deleteBlog(int id) {
- sqlSessionTemplate.delete("com.tiantian.mybatis.mapper.BlogMapper.deleteBlog", id);
- }
-
- public Blog find(int id) {
- returnsqlSessionTemplate.selectOne("com.tiantian.mybatis.mapper.BlogMapper.selectBlog", id);
- }
-
- public List<Blog> find() {
- returnthis.sqlSessionTemplate.selectList("com.tiantian.mybatis.mapper.BlogMapper.selectAll");
- }
-
- publicvoid insertBlog(Blog blog) {
- this.sqlSessionTemplate.insert("com.tiantian.mybatis.mapper.BlogMapper.insertBlog", blog);
- }
-
- publicvoid updateBlog(Blog blog) {
- this.sqlSessionTemplate.update("com.tiantian.mybatis.mapper.BlogMapper.updateBlog", blog);
- }
-
- public SqlSessionTemplate getSqlSessionTemplate() {
- returnsqlSessionTemplate;
- }
-
- @Resource
- publicvoid setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
- this.sqlSessionTemplate = sqlSessionTemplate;
- }
-
- }
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:Mybatis整合Spring(新)
关键词:Spring
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。