2.mybatis 配置
创建springcloudinaction,项目使用的springboot版本是2.0.3.RELEASE。
2.1创建对外接口项目
添加上一篇文章创建的项目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基础模块项目里面的依赖文件注意的话加了一个
因为在如下的代码里面
如果你使用的是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配置文件以及接口路径,如下图:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。