summaryrefslogtreecommitdiffstats
path: root/webservice/src/main/resources/spring-mybatis.xml
diff options
context:
space:
mode:
Diffstat (limited to 'webservice/src/main/resources/spring-mybatis.xml')
-rw-r--r--webservice/src/main/resources/spring-mybatis.xml68
1 files changed, 68 insertions, 0 deletions
diff --git a/webservice/src/main/resources/spring-mybatis.xml b/webservice/src/main/resources/spring-mybatis.xml
new file mode 100644
index 0000000..7abc6ae
--- /dev/null
+++ b/webservice/src/main/resources/spring-mybatis.xml
@@ -0,0 +1,68 @@
+<?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:p="http://www.springframework.org/schema/p"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context-4.0.xsd
+ http://www.springframework.org/schema/tx
+ http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
+ http://www.springframework.org/schema/aop
+ http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util-4.0.xsd">
+
+ <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
+ <property name="driverClassName" value="com.mysql.jdbc.Driver" />
+ <property name="url" value="jdbc:mysql://localhost:3306/appmarket?characterEncoding=UTF-8&amp;allowMultiQueries=true" />
+ <property name="username" value="root" />
+ <property name="password" value="123456" />
+ </bean>
+
+ <bean name="paginationInterceptor" class="app.market.persistence.interceptor.PaginationInterceptor"></bean>
+
+ <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
+ <property name="dataSource" ref="dataSource"></property>
+ <property name="configLocation" value="classpath:mybatis-config.xml" />
+ <property name="plugins">
+ <list>
+ <ref bean="paginationInterceptor" />
+ </list>
+ </property>
+ </bean>
+
+ <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
+ <property name="basePackage" value="app.market.persistence.mapper"></property>
+ <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
+ </bean>
+
+ <context:component-scan base-package="app.market.core.*">
+ <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
+ </context:component-scan>
+
+ <tx:annotation-driven transaction-manager="txManager" />
+
+ <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+ <property name="dataSource" ref="dataSource" />
+ </bean>
+
+ <aop:config>
+ <aop:pointcut id="fooServiceMethods" expression="execution(public * app.market.core.*.impl.*(..))" />
+ <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceMethods" />
+ </aop:config>
+
+ <tx:advice id="txAdvice" transaction-manager="txManager">
+ <tx:attributes>
+ <tx:method name="select*" read-only="true" />
+ <tx:method name="get*" read-only="true" />
+ <tx:method name="count*" read-only="true" />
+ <tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.RuntimeException" />
+ <tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.RuntimeException" />
+ <tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.RuntimeException" />
+ <tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.RuntimeException" />
+ </tx:attributes>
+ </tx:advice>
+</beans> \ No newline at end of file