加载中...

[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:事务默认关闭,自动提交

posted @ 2022-08-23 10:38  Vincy9501  阅读(39)  评论(0编辑  收藏  举报