码迷,mamicode.com
首页 > 编程语言 > 详细

MyBatis学习24-mybatis和spring整合

时间:2015-11-23 18:29:50      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

1.整合思路

需要spring通过单例方式管理SqlSessionFactory。

spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)

持久层的mapper都需要由spring进行管理。

2.整合环境的搭建

   a.加入mybatis的jar包

   技术分享

  b.加入spring的jar包

   技术分享

c.mybatis和Spring的整合包mybatis-spring-1.2.3

 http://mvnrepository.com/artifact/org.mybatis/mybatis-spring/1.2.3

d.mysql驱动包

e.junit包

f.dbcp连接池包:

   http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi

  commons pool:

   http://commons.apache.org/proper/commons-pool/download_pool.cgi

 

3.配置文件的编写

技术分享

 

4.sqlSessionFactory

   在applicationContext.xml配置sqlSessionFactory和数据源

   sqlSessionFactory在mybatis和spring的整合包下:

   技术分享

  

<context:property-placeholder location="classpath:db.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxIdle" value="5" />

</bean>

 

5.原始DAO的开发(和Spring整合后)

mapper.xml

技术分享

技术分享

 

dao接口

技术分享

技术分享

 

applicationContext.xml配置如下:

<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd ">

<context:property-placeholder location="classpath:db.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxIdle" value="5" />
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 加载mybatis的配置文件 -->
<property name="configLocation" value="SqlMapConfig.xml" />
<!-- 数据源 -->
<property name="dataSource" ref="dataSource" />
</bean>

<bean id="userDao" class="dao.UserDaoImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>

</beans>

测试程序,测试成功。

package dao;

import org.junit.Test;

public class UserDaoImplTest {

private ApplicationContext applicationContext;

@Before
public void setUp() throws Exception {
applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
}

@Test
public void testFindUserById() throws Exception {
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
User user = userDao.findUserById(1);
System.out.println(user);
}
}

 

MyBatis学习24-mybatis和spring整合

标签:

原文地址:http://www.cnblogs.com/hqt2050/p/4988743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!