2.springboot 集成mybatis持久化框架

导读:本篇文章讲解 2.springboot 集成mybatis持久化框架,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.pom中添加mybatis 依赖jar

       <!--mysql依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>

2.application.yml配置文件中配置数据源及mybatis配置

server:
  port: 8020

spring:
  application:
    name: user-service
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/cloud2020?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
    username: root
    password: password

mybatis: #mybatis相关配置
  mapper-locations: classpath:mybatis/mapper/*.xml
  config-location: classpath:mybatis/mybatis-config.xml

3.resources目录下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="callSettersOnNulls" value="true"/>
        <!--所有映射器中配置的缓存的全局开关-->
        <setting name="cacheEnabled" value="true"/>
        <!--是否启用延迟加载的全局开关。-->
        <setting name="lazyLoadingEnabled" value="true"/>
        <!--当启用时,带有延迟加载属性的对象的加载与否完全取决于对任意延迟属性的调用;反之,每种属性将会按需加载。-->
        <setting name="aggressiveLazyLoading" value="true"/>
        <!--是否允许单一语句返回多结果集(需要兼容驱动)。-->
        <setting name="multipleResultSetsEnabled" value="true"/>
        <!--是否使用列标签代替列名-->
        <setting name="useColumnLabel" value="true"/>
        <!--是否允许 JDBC 支持自动生成主键-->
        <setting name="useGeneratedKeys" value="false"/>
        <!--
                指定 MyBatis 是否以及如何自动映射指定的列到字段或属性。
                NONE 表示取消自动映射;
                PARTIAL 只会自动映射没有定义嵌套结果集映射的结果集。
                FULL 会自动映射任意复杂的结果集(包括嵌套和其他情况)。
        -->
        <setting name="autoMappingBehavior" value="PARTIAL"/>
        <!--
                配置默认的执行器。
                SIMPLE 就是普通的执行器;
                REUSE 执行器会重用预处理语句(prepared statements);
                BATCH 执行器将重用语句并执行批量更新
        -->
        <setting name="defaultExecutorType" value="SIMPLE"/>
        <!--是否开启自动驼峰命名规则-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!--MyBatis 利用本地缓存机制(Local Cache)防止循环引用(circular references)和加速重复嵌套查询。
        默认值为 SESSION,这种情况下会缓存一个会话中执行的所有查询。
        若设置值为 STATEMENT,本地会话仅用在语句执行上,对相同 SqlSession 的不同调用将不会共享数据。-->
        <setting name="localCacheScope" value="SESSION"/>
        <!--
        当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型。
        某些驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,
        比如 NULL、VARCHAR 或 OTHER。-->
        <setting name="jdbcTypeForNull" value="NULL"/>
        <!-- 打印查询语句 -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>

    <typeAliases>
        <typeAlias alias="Integer" type="java.lang.Integer"/>
        <typeAlias alias="Long" type="java.lang.Long"/>
        <typeAlias alias="HashMap" type="java.util.HashMap"/>
        <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap"/>
        <typeAlias alias="ArrayList" type="java.util.ArrayList"/>
        <typeAlias alias="LinkedList" type="java.util.LinkedList"/>
    </typeAliases>
</configuration>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/65750.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!