发表于: 2018-05-19 23:43:02
1 1271
一、今日完成
今天学习了一下spring和mybatis的一些配置问题
1、POM文件引入依赖:spring+mybatis+mysql
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<!-- 数据源依赖,如果换了其他的数据源,更换依赖即可 -->
<dependency>
<groupId>com.taobao.tddl</groupId>
<artifactId>tddl-client</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.taobao.diamond</groupId>
<artifactId>diamond-client</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>
<!-- mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>
2、在resource目录下加入以下2个文件:
spring的applicationContext.xml配置:
通用的spring配置,没有什么特别配置,引入了mybatis-spring.xml配置
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.oms"></context:component-scan>
<import resource="classpath*:mybatis-spring.xml"/>
</beans>
mybatis-spring.xml配置:
<!--数据源配置-->
<bean id="ocsUnitDataSource" class="com.taobao.tddl.client.jdbc.TDataSource"
init-method="init">
<property name="appName" value="xxxx"/>
<property name="appRuleFile" value="classpath:tddl-rule.xml"></property>
</bean>
<!--SqlSessionFactoryBean配置-->
<bean id="sqlSessionFactoryOcsUnit" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ocsUnitDataSource"/>
<!-- mapper配置文件的路径,类似MyBatis的mappers配置 -->
<property name="mapperLocations" value="classpath:mappers/ocsunit/*.xml"/>
</bean>
<!-- mapper接口扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.oms.dao.mapper.ocsunit"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryOcsUnit"/>
</bean>
<!-- 基于注解的事务处理 -->
<bean id="transactionManagerOcsUnit" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="ocsUnitDataSource"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManagerOcsUnit"/>
</beans>
几个配置的用途:
数据源配置:用于连接数据库(这里可以是jdbc,druid,tddl等等,示例中用的是tddl),如果是jdbc、druid,这里需要配置数据库的url,用户名,密码。
<!--数据源1配置-->
<bean id="ocsUnitDataSource" class="com.taobao.tddl.client.jdbc.TDataSource"
init-method="init">
<property name="appName" value="xxxx"/>
<property name="appRuleFile" value="classpath:tddl-rule.xml"></property>
</bean>
- SqlSessionFactoryBean配置:这是mybatis-spring需要的配置,用于创建数据库session
<!--SqlSessionFactoryBean配置-->
<bean id="sqlSessionFactoryOcsUnit" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ocsUnitDataSource"/>
<!-- mapper配置文件的路径,类似MyBatis的mappers配置 -->
<property name="mapperLocations" value="classpath:mappers/ocsunit/*.xml"/>
</bean>
dataSource,配置数据源,通过ref引用数据源的id。
mapperLocations,配置需要加载的mapper配置文件。
- 配置mapper接口的扫描
<!-- mapper接口扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.oms.dao.mapper.ocsunit"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryOcsUnit"/>
</bean>
org.mybatis.spring.mapper.MapperScannerConfigurer配置mapper接口的自动扫描,用于自动装配。
basePackage:mapper接口所在的package。
sqlSessionFactoryBeanName:引用前面配置的SqlSessionFactoryBean实例的id。
mybatis自身还需要如下的约定配置:
二、明日计划
尝试整合
三、收获和问题
学习了spring和mybatis配置问题
对spring应用的逻辑关系掌握不熟练
评论