add mybatis test

This commit is contained in:
wenshao
2012-07-17 20:51:24 +08:00
parent 57d0d78bf9
commit 5a3237cd1f
5 changed files with 125 additions and 35 deletions
+23 -2
View File
@@ -188,8 +188,22 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0</version>
<artifactId>spring-core</artifactId>
<version>3.1.1.RELEASE</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.1.RELEASE</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-ibatis</artifactId>
<version>2.0.8</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
@@ -200,6 +214,13 @@
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -0,0 +1,79 @@
package com.alibaba.druid.bvt.pool;
import java.sql.Connection;
import java.sql.Statement;
import javax.sql.DataSource;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.alibaba.druid.spring.User;
import com.alibaba.druid.stat.DruidDataSourceStatManager;
public class SpringMybatisFilterTest extends TestCase {
protected void setUp() throws Exception {
Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
}
protected void tearDown() throws Exception {
Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
}
public void test_spring() throws Exception {
Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml");
DataSource dataSource = (DataSource) context.getBean("dataSource");
{
Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE sequence_seed (value INTEGER, name VARCHAR(50))");
stmt.close();
conn.close();
}
{
Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE t_User (id BIGINT, name VARCHAR(50))");
stmt.close();
conn.close();
}
{
Connection conn = dataSource.getConnection();
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
stmt.execute("insert into sequence_seed (value ,name) values (0, 'druid-spring-test')");
stmt.close();
conn.commit();
conn.close();
}
UserMapper userMapper = (UserMapper) context.getBean("userMapper");
{
User user = new User();
user.setName("xx");
userMapper.addUser(user);
}
context.close();
Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
}
public static interface UserMapper {
@Insert(value = "insert into t_User (id, name) values (#{user.id}, #{user.name})")
void addUser(@Param("user") User user);
}
}
@@ -7,7 +7,7 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schem
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"
default-lazy-init="false">
<bean id="test-filter" class="com.alibaba.druid.bvt.pool.SpringFilterTest$TestFilter">
<bean id="test-filter" class="com.alibaba.druid.bvt.pool.SpringIbatisFilterTest$TestFilter">
</bean>
<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">
</bean>
@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"
default-lazy-init="false">
<bean class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"
id="master-sqlMapClient">
<property name="configLocation" value="com/alibaba/druid/pool/ibatis-config-druid-test.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="sequence-dao" class="com.alibaba.druid.spring.SequenceDao">
<property name="sqlMapClient" ref="master-sqlMapClient" />
</bean>
<bean id="sequence-service" class="com.alibaba.druid.spring.SequenceService">
<property name="dao" ref="sequence-dao" />
</bean>
<bean id="user-dao" class="com.alibaba.druid.spring.UserDao">
<property name="sqlMapClient" ref="master-sqlMapClient" />
</bean>
<bean id="user-service" class="com.alibaba.druid.spring.UserService">
<property name="dao" ref="user-dao" />
<property name="sequenceService" ref="sequence-service" />
</bean>
<import resource="classpath:com/alibaba/druid/pool/dataSource.xml"/>
</beans>
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"
default-lazy-init="false">
<bean class="org.mybatis.spring.SqlSessionFactoryBean"
id="sqlSessionFactory">
<property name="dataSource" ref="dataSource" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperFactoryBean"
id="userMapper">
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
<property name="mapperInterface" value="com.alibaba.druid.bvt.pool.SpringMybatisFilterTest$UserMapper" />
</bean>
<import resource="classpath:com/alibaba/druid/pool/dataSource.xml"/>
</beans>