Spring整合MyBatis

Posted 一笑任逍遥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring整合MyBatis相关的知识,希望对你有一定的参考价值。

在pom.xml中添加MyBatis依赖

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.5</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.3</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.27.RELEASE</version>
</dependency>

MyBatis配置文件:mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <!--全局参数-->
    <settings>
        <!-- 使全局映射器启用或禁用缓存 -->
        <setting name="cacheEnabled" value="false"/>
        <!-- 全局启用或禁用延迟加载,当禁用时,所有关联对象都会即时加载 -->
        <setting name="lazyLoadingEnabled" value="true"/>
       <!-- 当启用时,有延迟加载属性的对象在被调用时将会加载任意属性,否则,属性将按需 加载-->
        <setting name="aggressiveLazyLoading" value="true"/>
        <!-- 允许或不允许多种结果集从一个单独的语句中返回(需要适合的驱动) -->
        <setting name="multipleResultSetsEnabled" value="true" />
        <!-- 使用列标签代替列名。不同的驱动在这方便表现不同。参考驱动文档或充分测试两种方法来决定所使用的驱动 -->
        <setting name="useColumnLabel" value="true" />
        <!-- 允许JDBC支持生成的键。需要适合的驱动。如果设置为true则这个设置强制生成的键被使用,尽管一些驱动拒绝兼容但仍然有效(比如Derby) -->
        <setting name="useGeneratedKeys" value="true" />
        <!-- 指定MyBatis如何自动映射列到字段/属性。PARTIAL只会自动映射简单,没有嵌套的结果。FULL会自动映射任意复杂的结果(嵌套的或其他情况)NONE禁止自动映射 -->
        <setting name="autoMappingBehavior" value="PARTIAL" />
        <!-- 配置默认的执行器。SIMPLE执行器没有什么特别之处。REUSE执行器重用预处理语句。BATCH执行器重用语句和批量更新 -->
        <setting name="defaultExecutorType" value="SIMPLE" />
        <!--使用驼峰命名法转换字段-->
        <setting name="mapUnderscoreTocCamelCase" value="true"/>
        <!--设置 jdbc类型为空时,要指定值-->
        <setting name="jdbcTypeForNull" value="NULL"/>
    </settings>
</configuration>

Spring集成Mybatis

spring-context-mybatis.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-3.0.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 配置SqlSession-->
    <bean id="sqlSessionFactry" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!--配置对应实体类所在包-->
        <property name="typeAliasesPackage" value="com.zck.my.shop.domain"/>
        <!--用于配置对象关系映射配置文件所在目录-->
        <property name="mapperLocations" value="classpath:/mapper/**/*.xml"/>
        <property name="configLocation" value="classpath:/mybatis-config.xml"/>
    </bean>
    <!--扫描mapper-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.zck.my.shop.web.admin.dao"/>
    </bean>
</beans>

 

以上是关于Spring整合MyBatis的主要内容,如果未能解决你的问题,请参考以下文章

请教mybatis+spring+atomikos的整合问题

7.Spring:整合Mybatis

基于Spring+SpringMVC+MyBatis开发书评网Spring和MyBatis的整合

Spring-整合Mybatis

最新最全面的Spring详解——Spring-Mybatis整合

Spring Boot:Spring Boot整合Mybatis案例