mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
add mybatis test
This commit is contained in:
@@ -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>
|
||||
Reference in New Issue
Block a user