2.springboot的mybatis 配置

2.mybatis 配置
创建springcloudinaction,项目使用的springboot版本是2.0.3.RELEASE。

2.1创建对外接口项目

2.springboot的mybatis 配置
添加上一篇文章创建的项目dhome-activity-base-java基础模块。

<dependency>
            <artifactId>springcloud-base-java</artifactId>
            <groupId>com.example.springcloud</groupId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

2.2springcloudinaction项目添加配置文件

<!-- 数据库连接 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-configuration-processor</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

因为使用的是druid数据库连接池所以依赖如上。这里还有个问题在这里解决。在dhome-activity-base-java基础模块项目里面的依赖文件注意的话加了一个
2.springboot的mybatis 配置
因为在如下的代码里面
2.springboot的mybatis 配置
如果你使用的是spring的@param注解,再在xml里面配置
2.springboot的mybatis 配置
里面,使用#{actCode}的方式无法识别,需要用#{arg0}这样的方式注入参数,该问题是在我们mvc项目改造成springboot项目后出现的。通过@param使用mybatis的包而不是spring的包解决该问题。

2.3mybatis项目的配置

2.3.1application.yml的配置
重要的是mybatis.mapper-locations的配置,需要指定xml文件的所在位置。

spring:
  datasource:
    druid:
      # 连接数据库的url
      url: jdbc:mysql://localhost:8066/dhome?characterEncoding=utf-8
      # 用户名
      username: dhome
      # 密码
      password: dhome
      # 数据库连接驱动
      driver-class-name: com.mysql.jdbc.Driver
      # 初始化时建立物理连接的个数
      initial-size: 5
      # 最大连接池数量
      max-active: 20
      # 最小连接池数量
      min-idle: 5
      # 获取连接时最大等待时间
      max-wait: 60000
      # 是否缓存preparedStatement,也就是PSCache。
      pool-prepared-statements: false
      # 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
      max-pool-prepared-statement-per-connection-size: -1
      # 用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。
      validation-query: SELECT 'x'
      # 单位:秒,检测连接是否有效的超时时间。
      validation-query-timeout: 1
      # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
      test-on-borrow: false
      # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
      test-on-return: false
      # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
      test-while-idle: true
      # 有两个含义:1) Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明
      time-between-eviction-runs-millis: 6000
      # 连接保持空闲而不被驱逐的最小时间
      min-evictable-idle-time-millis: 1800000

mybatis:
  mapper-locations:
    - "classpath*:com/example/**/*Mapper.xml"

2.3.2 config文件的配置
这里需要配置扫描dao接口的地址。
2.springboot的mybatis 配置

2.3.1以及 2.3.2其实就是配置dhome-activity-base-java下面的xml配置文件以及接口路径,如下图:
2.springboot的mybatis 配置

相关推荐