新建SPRING配置文件application-resources.xml
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/config/jdbc.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="autoCommitOnClose" value="true"/>
<property name="checkoutTimeout" value="${cpool.checkoutTimeout}"/>
<property name="initialPoolSize" value="${cpool.minPoolSize}"/>
<property name="minPoolSize" value="${cpool.minPoolSize}"/>
<property name="maxPoolSize" value="${cpool.maxPoolSize}"/>
<property name="maxIdleTime" value="${cpool.maxIdleTime}"/>
<property name="acquireIncrement" value="${cpool.acquireIncrement}"/>
<property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}"/>
</bean>
<!-- 事务数据源代理 -->
<bean id="dataSourceProxy" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
<constructor-arg ref="dataSource"></constructor-arg>
</bean>
<!-- 创建SqlSessionFactory,同时指定数据源-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSourceProxy"></property>
<!-- 指定sqlMapConfig总配置文件-->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!--指定实体类映射文件-->
<property name="mapperLocations" value="classpath*:com/oecs/cms/**/*Mapper.xml"></property>
</bean>
<!--注入SqlSessionTemplate实例 -->
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
</bean>
<!-- 配置mybatis自动扫描属性 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="annotationClass" value="com.oecs.cms.common.annotation.CmsMapper"></property>
<property name="basePackage" value="com.oecs.cms"></property>
<property name="sqlSessionTemplate" ref="sqlSessionTemplate"></property>
</bean>
<aop:aspectj-autoproxy />
<!-- spring2.5 自动扫描
开启注解
-->
<context:component-scan base-package="com.oecs.cms"></context:component-scan>
<!-- 事务配置 -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSourceProxy" />
</bean>
<!-- 使用annotation定义事务 -->
<tx:annotation-driven transaction-manager="txManager" />
注:CmsMapper为自定义注释标签
public @interface CmsMapper {
}
创建Mapper接口,定义find方法。
创建Mapper XML文件(名称与接口文件名相同),新增查询方法
<select id="find" resultMap="CmsRoleModel">
select * from cms_role
</select>