首页> Java> java教程> 正文

Java开发中SSM整合之spring+mabatis

无忌哥哥
发布: 2018-07-23 10:35:28
原创
1623 人浏览过

spring和mybatis整合

整合思路
需要spring通过单例的方式管理SqlSessionFactory.
spring和myatis整合生成代理对象使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)
持久层的mapper,dao都需要spring进行管理。
整合环境,创建一个新的java工程(接近实际开发的工程结构)
jar包:
mybatis3.2.7的jar包
spring 4.3.9 的jar包
mybatis和spring的整合包:早期ibatis和spring整合由spring官方提供,mybatis和spring整合由mybatis提供。

sqlSessionFactory

在applicationContext.xml配置sqlSessionFactory

                       
登录后复制

原始dao开发(和spring整合后)

mapper.xml

  
登录后复制

dao

public interface UserDao { //根据id查询用户信息 public User findUserById(int id)throws Exception;
登录后复制

dao接口实现类需要注入SqlsessionFactory,通过spring进行注入。

这里spring声明配置方式,配置dao的bean。

让UserDaoImpl实现类继承SqlSessionDaoSupport类

public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao{ @Override public User findUserById(int id) throws Exception { //继承SqlSessionDaoSupport ,通过this.getSqlSession()得到sqlSession SqlSession sqlSession = this.getSqlSession(); User user = sqlSession.selectOne("test.findUserById", id); //释放资源 //sqlSession.close(); return user; } }
登录后复制

配置dao

在applicationContext.xml中配置dao。

   
登录后复制

运行测试

public class UserDaoImplTest { private ApplicationContext applicationContext; //在setUp这个方法中得到spring容器 @Before public void setUp()throws Exception{ applicationContext=new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml"); } @Test public void testFindUserById() throws Exception { UserDao userDao=(UserDao) applicationContext.getBean("userDao"); // //调用userDao的方法 User user=userDao.findUserById(1); System.out.println(user); }
登录后复制

以上是Java开发中SSM整合之spring+mabatis的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!