2.springboot的mybatis 配置
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配置文件以及接口路径,如下图:
相关推荐
xiuyangsong 2020-11-16
Nishinoshou 2020-11-09
jimgreatly 2020-09-01
dongxurr 2020-08-18
Dullonjiang 2020-08-15
Dullonjiang 2020-08-11
Dullonjiang 2020-08-09
dongxurr 2020-08-08
yunzhonmghe 2020-08-07
jimgreatly 2020-08-03
Dullonjiang 2020-07-30
jimgreatly 2020-07-27
liqiancao 2020-07-26
xiuyangsong 2020-07-26
dongxurr 2020-07-26
mcvsyy 2020-07-26
helloxusir 2020-07-25
牧场SZShepherd 2020-07-20