[Spring框架]spring整合mybatis
1. 新建J2EE项目
2. pom引入相关坐标
<!--spring相关配置-->
spring-context 5.3.18
spring-jdbc 5.3.18
spring-tx 5.3.18
<!--aop切面相关的包-->
spring-aspects 5.3.18
<!--database-->
mysql-connector-java 8.0.23
druid 1.2.5
mybatis-plus 3.4.3
pagehelper 5.2.0
<!--database-->
log4j-slf4j-impl 2.14.0
lombok 1.18.22
3. 配置applicationContext.xml
1. 配置扫描包,启动IoC注解
<context:component-scan base-package="com.w"></context:component-scan>
2. 引入jdbc.properties配置文件
<context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
3. 配置数据源
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="url" value="${jdbc.url}"></property>
</bean>
4. 配置sqlSessionFactory
SessionFactory里需要数据源、类别名、mapper位置、日志框架、拦截器用于分页
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- dataSource-->
<property name="dataSource" ref="dataSource"></property>
<!-- typeAliases-->
<property name="typeAliasesPackage" value="com.w.entity"></property>
<!--当xml文件和mapper接口文件在同一个目录下时,可以省略,否则必须配置-->
<!-- <property name="mapperLocations" value="classpath:com/woniu/mapper/*.xml"></property>-->
<!-- 配置日志框架-->
<property name="configuration">
<bean class="org.apache.ibatis.session.Configuration">
<!--配置日志框架-->
<property name="logImpl" value="org.apache.ibatis.logging.log4j2.Log4j2Impl"></property>
<!-- <property name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"></property>-->
</bean>
</property>
<!-- 配置拦截器-->
<property name="plugins">
<array>
<!-- 分页插件-->
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<!--设置数据库类型-->
<prop key="helperDialect">mysql</prop>
<!--传入的页数大于总页数时,会查询最后一页-->
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
</bean>
5. 扫描Dao接口包目录
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sessionFactory"></property>
<property name="basePackage" value="com.w.mapper"></property>
</bean>
4. 持久层 -> 业务层 -> Web层
5. 事务自动提交
Mybatis:事务默认开启,需要手动提交
JDBC:事务默认关闭,自动提交
Spring整合Mybatis:事务默认关闭,自动提交