接口开发中,操作数据库是必不可少的,这章节,我们重点介绍springboot是怎么集成mysql数据库的,其他的数据库配置大同小异。
添加mysql驱动依赖包
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
估计大家都看到这里多了一个行scope的配置,并且取值为runtime。
runtime表示在构建编译阶段不需要,只在test和runtime需要。
这种主要是指代码里并没有直接引用而是根据配置在运行时动态加载并实例化的情况。
虽然用runtime的地方改成compile也不会出大问题,但是runtime的好处是可以避免在程序里意外地直接引用到原本应该动态加载的包。
application.yml配置mysql
spring:
datasource:
#mysql连接地址
url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
#demo库的用户名
username: demo
#demo库的密码
password: 123456
#驱动
driver-class-name: com.mysql.cj.jdbc.Driver
#连接池配置
hikari:
#连接池名称
pool-name: demo-db-pool
#连接池的最大连接数,默认10
maximum-pool-size: 20
#此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
max-lifetime: 3600000
#数据库连接超时时间,默认30000(30秒)
connection-timeout: 40000
连接url参数说明
- useUnicode:是否使用Unicode字符集。如果参数characterEncoding设置为utf-8,本参数值必须设置为true。
- characterEncoding:当useUnicode设置为true时,指定字符编码。比如可设置为utf-8。
- useSSL:否进行SSL连接 高版本设置useSSL=true,不然会有警告信息。
- serverTimezone:设置数据库时区为上海时区。
mysql驱动说明
com.mysql.jdbc.Driver
是 mysql-connector-java 5中的。com.mysql.cj.jdbc.Driver
是 mysql-connector-java 6中的。
连接池配置
Hikari连接池号称“史上最快连接池”,并且在springboot2.0之后,采用的默认数据库连接池就是Hikari。
当然也有其他的连接池,例如阿里的druid,常见的C3P0。但是这里推荐使用Hikari。
其他的一些配置项,可以参看 HikariPool配置详解
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/93618.html