springboot hikari连接不释放_(六) SpringBoot起飞之路整合JdbcTemplateDruidMyBatisRedis

7cffe033fb12bad829f28cc464ce6165.png

有兴趣的朋友可以去了解一下前五篇,你的赞就是对我最大的支持,感谢大家!

(一) SpringBoot起飞之路-HelloWorld

(二) SpringBoot起飞之路-入门原理分析

(三) SpringBoot起飞之路-YAML配置小结(入门必知必会)

(四) SpringBoot起飞之路-Web静态资源处理

(五) SpringBoot起飞之路-Thymeleaf模板引擎整合及基本用法总结

说明:

  • SpringBoot 起飞之路 系列文章的源码,均同步上传到 github 了,有需要的小伙伴,随意去 down

    • https://github.com/ideal-20/Springboot-Study-Code

  • 才疏学浅,就会点浅薄的知识,大家权当一篇工具文来看啦,不喜勿喷哈 ~

引言

前面分别介绍了一下一些入门的配置和基础,同时引入了Thymeleaf模板引擎,而练习一些小 Demo 就要开始涉及到数据了,所以今天来讲一下如何在 SpringBoot 中整合常见数据相关的一些技术:JdbcTemplate、Druid、MyBatis,重点熟悉下后两者,用的也是比较多的

这一篇所介绍的内容,都不是新内容,不涉及太多的语法,关键是整合,关于这三样介绍也就简单提一下

最后开始之前,还有一个需要提及的

SpringBoot 中关于数据库相关的处理,均使用 Spring Data,它是 Spring 全家桶中的一个子项目,能同时支持关系/非关系型数据库的操作,能够极大地简化数据库访问的操作

更多内容,可以去看一下官网:

https://spring.io/projects/spring-data

(一) 整合 JdbcTemplate

虽然叫做 整合 JdbcTemplate,但本质上还是整合 JDBC ,只不过 JdbcTemplate 对原生 JDBC 进行了一些简化

(1) 引入依赖

我们首先创建一个 Project 或者 Module,然后初始化一个 SpringBoot 项目,除了基本的 Web 以外,再左侧 SQL 选项中选择 JDBC API ,这也就是引入关于整合 JDBC 的依赖

426e80ec46af84ba1098eef5bcc5b214.png

来看一下 pom,也就是引入了  spring-boot-starter-jdbc 这个启动器,其中一些依赖封装好了

详情可以参考官网文档,我贴了两个版本,更多版本,自己可以去翻阅一下

https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/reference/html/using-spring-boot.html#using-boot-structuring-your-code

https://docs.spring.io/spring-boot/docs/2.2.7.RELEASE/reference/html/using-spring-boot.html#using-boot-starter

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-jdbcartifactId>
dependency>

之前的旧版本,mysql-connector-java 应该也会被引入的,如果没有也不必担心,后面写数据库相关配置的时候,我们也会引入

(2) 修改配置

接着,我们需要在配置文件中配置数据库的一些信息,例如用户名密码等等,我们用 yml 配,用 properties 也是一样的

关于 url 这个选项多说一句,我的表名 springboot_mybatis_test,但是如果不设置时区或者一些编码,不同的版本使用中可能会出现一些错误(5 可以不配置时区,高版本的需要)

而在设定时区的时候,像我下面设置为 serverTimezone=UTC,会比中国时间早8个小时,所以中国可以选择Asia/Shanghai或者Asia/Hongkong

spring:
  datasource:
    username: root
    password: root99
    # serverTimezone=Asia/Shanghai 这样解决时区的报错会好一些
    url: jdbc:mysql://localhost:3306/springboot_mybatis_test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver

还有一个需要注意的,就是在选择驱动的时候,如果前面初始化项目的时候,依赖中没有加入 mysql-connector-java 这个以来,这里配置是会报红的,点击或者快捷会提示你引入依赖,而就像下面这样,默认不指定版本的依赖是 8.x 版本的 mysql-connector-java

<dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
dependency>

所以配置时就要选择 com.mysql.cj.jdbc.Driver

如果使用旧版的就会提示,com.mysql.jdbc.Driver 过时了

Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

如果想要用旧版,你也可以显性的指定 mysql-connector-java 版本

<dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
    <version>5.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值