风的研发日记


欢迎来到我的个人站~


Spring Boot学习记录(三)

Spring Boot 集成 Mybatis

​ Spring Boot 集成Mybatis非常的简单,如果是新工程,在使用https://start.spring.io/官网创建,或者 IDEA创建新工程项目的时候直接勾选Mybatis就可以了:

当然,如果我们在创建了忘记了勾选这一项想要集成也非常的简单,直接在pom.xml文件中导入一下依赖就可以了:

 	
<dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>2.0.1</version>
  </dependency>

  <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
  </dependency>

org.mybatis.spring.boot是 Spring Boot 的官方依赖包,导入它Spring Boot 会自动帮你导入其他相关依赖,mysql-connector-java是 mysql的驱动程序。

配置数据库

application.properties文件中配置数据库信息

spring.datasource.druid.url = jdbc:mysql://localhost:3306/acgpicture?useUnicode=true&characterEncoding=utf-8
# 数据库账号
spring.datasource.druid.username = root 
# 数据库密码
spring.datasource.druid.password = 123456
# 数据库驱动
spring.datasource.druid.driver-class-name = com.mysql.cj.jdbc.Driver

#MyBatis 设置mapper路径
mybatis.mapper-locations=classpath:/mybatis-mappers/*

这样就可以连接上数据库了。

配置druid连接池

Druid是一个JDBC组件,它包括三部分

  • DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
  • DruidDataSource 高效可管理的数据库连接池。
  • SQLParser

在项目工程中我们主要使用阿里的druid作为连接池用于提升服务器性能,druid的集成方法也很简单,在pom.xml文件中导入以下依赖:

 <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid-spring-boot-starter</artifactId>
      <version>1.1.10</version>
  </dependency>

等 IDEA 自动安装好以后我们还需要在application.properties 文件中对它进行一些配置就可以使用了,配置如下:


# 初始化时建立物理连接的个数
spring.datasource.druid.initial-size=5
# 最大连接池数量
spring.datasource.druid.max-active=30
# 最小连接池数量
spring.datasource.druid.min-idle=5
# 获取连接时最大等待时间,单位毫秒
spring.datasource.druid.max-wait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=60000
# 连接保持空闲而不被驱逐的最小时间
spring.datasource.druid.min-evictable-idle-time-millis=300000
# 用来检测连接是否有效的sql,要求是一个查询语句
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
# 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
spring.datasource.druid.test-while-idle=true
# 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
spring.datasource.druid.test-on-borrow=false
# 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
spring.datasource.druid.test-on-return=false
# 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
spring.datasource.druid.pool-prepared-statements=true
# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=50
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计
spring.datasource.druid.filters=stat,wall
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
# 合并多个DruidDataSource的监控数据
spring.datasource.druid.use-global-data-source-stat=true

# druid连接池监控
spring.datasource.druid.stat-view-servlet.login-username=xxx@gmail.com
spring.datasource.druid.stat-view-servlet.login-password=156****2333
# 排除一些静态资源,以提高效率
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
最近的文章

iOS13 NFC 读写开发

iOS13 发布以后,苹果开放了NFC 写入的权限,相比起原来只能读取的半残状况,现在可以做的事情就更多了,刚好最近完成了一个NFC 读写相关的小应用,中间踩了不少坑,在此记录一下。值得注意的是虽然现在苹果在iOS13以后提供了写入的接口,但是仍然有不少限制。首先是硬件方面的限制,只有iPhone7 以后的设备(包括iPhone7)才具有写入的功能,如果你查看苹果官网的设备信息会看到iPhon7 以后搭载的是“支持读卡器模式的 NFC”,而之前的iPhone 则是 “NFC”,换言之,只有...…

iOS继续阅读
更早的文章

Spring Boot学习记录(二)

Spring Boot 与 swagger​ 网上关于swagger 有着很多的介绍与使用帮助,因此本文将不会花费太多的笔墨去介绍swagger 是什么,它有什么好处,我们只需要知道swagger 可以为我们提供一个动态的可视化文档,所见即所得的更新我们的 API,并提供详细使用文档的一个工具就好了。Spring Boot 集成 swagger在项目的pom.xml文件中导入 swagger 的相关依赖: <!--swagger --> <dependency>...…

java继续阅读