2.springboot的mybatis 配置

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

2.1创建对外接口项目


添加上一篇文章创建的项目dhome-activity-base-java基础模块。

        
            springcloud-base-java
            com.example.springcloud
            1.0-SNAPSHOT
        

2.2springcloudinaction项目添加配置文件

 
        
            mysql
            mysql-connector-java
        
        
            com.alibaba
            druid-spring-boot-starter
            1.1.10
            
                
                    org.slf4j
                    slf4j-api
                
                
                    org.springframework.boot
                    spring-boot-configuration-processor
                
            
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.2
        

因为使用的是druid数据库连接池所以依赖如上。这里还有个问题在这里解决。在dhome-activity-base-java基础模块项目里面的依赖文件注意的话加了一个

因为在如下的代码里面

如果你使用的是spring的@param注解,再在xml里面配置

里面,使用#{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.3.1以及 2.3.2其实就是配置dhome-activity-base-java下面的xml配置文件以及接口路径,如下图:

你可能感兴趣的:(mybatis,springboot,java)