springboot-访问数据库
在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比较多
springboot-访问数据库的更多相关文章
- springboot访问数据库(MySql)
1.使用JDBC访问数据库:JDBC是用于在Java语言编程中与数据库连接的API <dependency> <groupId>org.springframework.boot ...
- springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务
springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-1.整合Mybatis访问数据库和阿里巴巴数据源
笔记 1.整合Mybatis访问数据库和阿里巴巴数据源 简介:整合mysql 加入mybatis依赖,和加入alibaba druid数据源 1.加入依赖(可以用 http://start.s ...
- IntelliJ IDEA ,springboot 2.0 +mybatis 创建和访问数据库
环境: JDK8+windows10 步骤 New Module —>Spring Initializr—>next 1 2. 3.web勾选web,sql里面可以不勾,后续添加, ...
- Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版
一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...
- 【SpringBoot】数据库操作之整合Mybaties和事务讲解
========================8.数据库操作之整合Mybaties和事务讲解 ================================ 1.SpringBoot2.x持久化数 ...
- 使用JdbcTemplate访问数据库
参考源端:https://blog.csdn.net/liaodehong/article/details/76974827 今天用Spring Boot访问一下数据库,并且把数据返回到页面中,进行增 ...
- SpringBoot基于数据库实现简单的分布式锁
本文介绍SpringBoot基于数据库实现简单的分布式锁. 1.简介 分布式锁的方式有很多种,通常方案有: 基于mysql数据库 基于redis 基于ZooKeeper 网上的实现方式有很多,本文主要 ...
- C#使用ADO.NET访问数据库(一)
博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...
- Android 异步任务,通过PHP访问数据库,多线程,线程间通讯
文章列表MainActivity.java package com.eric.asynctask; import java.io.IOException; import java.util.Array ...
随机推荐
- Flume学习记录
Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传 输的系统.Flume 基于流式架构,灵活简单. Flume基础架构 Agent Agent 是一个 JV ...
- python的字符串切片技术
听说过python的字符串切片技术吗?是不是听着超高级的?实际上,也不用想得太难,python的字符串切片技术就是将字符串的某些字符提取出来而已~ 字符串切片 字符串是一种序列类型,可以按序号访问其中 ...
- vue项目环境搭建(webpack4从零搭建)--仅个人记录
一.nodejs环境搭建 首先需要下载node.js(推荐直接官网找最新的版本),下载完成后会自带npm包管理工具,打开cmd命令行界面,输入npm -v .node -v检查node.js与npm是 ...
- SQL Server--设置用IP地址登录
问题概述:新安装的SQL Server数据库无法用IP地址登录. 是因为 SQL Server "服务器网络实用工具"中禁用了"命名管道"所致! 在sqlse ...
- 测试平台系列(91) 编写oss管理页面
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的教程,希望大家多多支持. 欢迎关注我的公众号米洛的测开日记,获取最新文章教程! 回顾 上一节我们编写好了oss相关 ...
- tp 5 框架 ajax软删除,回收站,数据恢复
//HTML代码: <td> <span onclick="del({$v.id})">删除</span> </td> //ajax ...
- 微信小程序实现简单的2048
这两天心血来潮,用微信小程序写了一个简单的2048,欢迎各位老铁围观,提出宝贵意见.这里我从0到1赘述一下个人实现流程: 首先去微信公平台(https://mp.weixin.qq.com/)注册一个 ...
- svelte组件:Svelte自定义弹窗Popup组件|svelte移动端弹框组件
基于Svelte3.x自定义多功能svPopup弹出框组件(组件式+函数式) 前几天有分享一个svelte自定义tabbar+navbar组件,今天继续带来svelte自定义弹窗组件. svPopup ...
- lgP6232题解
评蓝过分了吧,这题最多黄( 首先我们从挂钩的最上层向下走,假设这个挂杆的左边和右边一共有 \(k\) 件衣服. 若 \(k\) 是 \(2\) 的倍数,那么我们只能向左走(左边和右边的衣服一样多).反 ...
- SpringBoot 集成 knife4j (Swagger2)
SpringBoot 集成 knife4j (Swagger2) 前提 :本文 spring boot版本为 2.6.1 ,knife4j 版本为:3.0.3 1.初始化项目,导入pom依赖 < ...