在springboot中,默认的JPA实现是Hibernate,JPA是Java Persistence API的简称,中文名Java持久层API

<!--数据库-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

我们其实是可以不用使用任何配置数据库的情况下运行spring-boot工程的

因为h2是内嵌的数据库,而且数据源可以配置为hqldb 或者Derby,

如果想要配置其他数据源就要用到配置自定义数据源的方法了

####################################################

配置自定义数据源:

使用Mysql数据源

      <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

配置依赖之后,需要配置数据库相关的信息才能连接到数据库

注意:默认情况下,springboot会使用绑定的Tomcat的数据源,

spring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB
spring.datasource.username=root
spring.datasource.password=1997
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#最大等待连接中的数量,设置为0为没有限制
spring.datasource.tomcat.max-idle=10
#最大活动连接数
spring.datasource.tomcat.max-active=50
#最大等待毫秒数,单位ms,超过时间会出错误
spring.datasource.tomcat.max-wait=10000
#数据库连接池初始化连接数
spring.datasource.tomcat.initial-size=6

这样就完成了springboot的数据源配置,

#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

注释掉驱动类的配置,springboot会尽可能的去判断数据什么类型,然后根据默认的情况

去匹配驱动类,

上面还使用了自带的数据库连接池

####################################################

使用第三方的数据源,就是连接数据库的工具,可以产生数据源

例子:配置DBCP2数据源

        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.7.0</version>
</dependency>
spring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB
spring.datasource.username=root
spring.datasource.password=1997
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
##最大等待连接中的数量,设置为0为没有限制
#spring.datasource.tomcat.max-idle=10
##最大活动连接数
#spring.datasource.tomcat.max-active=50
##最大等待毫秒数,单位ms,超过时间会出错误
#spring.datasource.tomcat.max-wait=10000
##数据库连接池初始化连接数
#spring.datasource.tomcat.initial-size=6 ##使用第三方数据源 dbcp数据源,spring.datasource.type指定数据源
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource
spring.datasource.dbcp2.max-idle=10
spring.datasource.dbcp2.max-total=40
spring.datasource.dbcp2.max-wait-millis=10000
spring.datasource.dbcp2.initial-size=6

通过spring.datasource.type 属性指定数据库连接池的类型

spring.datasource.dbcp2.* 去配置连接池信息,

##############################

利用bean的生命周期查看使用的数据源

@Component
public class DatasourceShow implements ApplicationContextAware {
ApplicationContext applicationContext = null; @Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
DataSource dataSource = applicationContext.getBean(DataSource.class);
System.out.println("#####################################");
System.out.println(dataSource);
System.out.println("#####################################"); }
}

配置为dcbp数据源时

因为实现了接口ApplicationContextAware的方法setApplicationContext()
生命周期可以知道,初始化的时候就会被调用了,所以获取IOC容器上下文
通过getBean方法得到数据库连接词,最后打出全限定类名

前期准备

使用JdbcTemplate操作数据库

在配置数据源后, Spring Boot 通过其自动配置机制配置好了JdbcTemplate, JdbcTemplate 模板是spring框架提供的

工作中还是用myBatis比较多

最新文章

  1. Google之Chromium浏览器源码学习——base公共通用库(四)
  2. 18. 4Sum -- 找到数组中和为target的4个数
  3. 循环列表的Java实现,解决约瑟夫环问题
  4. EXTJS4.2 后台管理菜单栏
  5. C# web 网页刷新时数据集的保存和应用
  6. Python的TkinterButton做为父窗口
  7. ajax/fetch上传富文本时出现中文乱码的解决方案(百分号问题)
  8. 前端数据统计用做Bootstrap的一些柱状图、饼状图和折线图案例
  9. ABP PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词) 引发客户端错误 No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource
  10. Maven解决包冲突
  11. Git使用过程中的问题
  12. 如何修改PHP的memory_limit限制
  13. 【托业】【新东方托业全真模拟】TEST07~08-----P5~6
  14. 让bootstrap-table支持高度百分比
  15. 从angularjs传递参数至Web API
  16. Python3学习笔记25-logging模块
  17. 【ShoppingPeeker】-基于Webkit内核的爬虫蜘蛛引擎 ShoppingWebCrawler的姊妹篇-可视化任务Web管理
  18. LOJ 534 花团(线段树+dfs栈)
  19. Benchmarking Zeebe: An Intro to How Zeebe Scales Horizontally and How We Measure It
  20. win7颜色反转

热门文章

  1. ALPS TCP新建配置——网络测试仪实操
  2. VUE学习笔记(李天禹老师版本)
  3. spyeye手机监控最新版分享下载不用碰对方手机,所有聊天内容,照片等都能看见
  4. WPS:想让一个新标题后总跟着一种特定样式的文字
  5. 【持续更新】Git使用指南
  6. B站(bilibili) 等级升级脚本-云函数版
  7. Kubernetes上安装Metrics-Server
  8. springboot----四、yaml配置注入
  9. php 23种设计模型 - 访问者模式
  10. jsplumbWithVue实现流程编排