数据访问

1、导入jdbc场景

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId></dependency>


数据库驱动?
为什么导入JDBC场景,官方不导入驱动?官方不知道我们接下要操作什么数据库。
数据库版本和驱动版本对应

默认版本:<mysql.version>8.0.22</mysql.version><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
<!--            <version>5.1.49</version>--></dependency>
想要修改版本
1、直接依赖引入具体版本(maven的就近依赖原则)
2、重新声明版本(maven的属性的就近优先原则)<properties><java.version>1.8</java.version><mysql.version>5.1.49</mysql.version></properties>

2、分析自动配置

1、自动配置的类
● DataSourceAutoConfiguration : 数据源的自动配置
○ 修改数据源相关的配置:spring.datasource
○ 数据库连接池的配置,是自己容器中没有DataSource才自动配置的
○ 底层配置好的连接池是:HikariDataSource

@Configuration(proxyBeanMethods = false)@Conditional(PooledDataSourceCondition.class)@ConditionalOnMissingBean({ DataSource.class, XADataSource.class })@Import({ DataSourceConfiguration.Hikari.class, DataSourceConfiguration.Tomcat.class,DataSourceConfiguration.Dbcp2.class, DataSourceConfiguration.OracleUcp.class,DataSourceConfiguration.Generic.class, DataSourceJmxConfiguration.class })protected static class PooledDataSourceConfiguration

● DataSourceTransactionManagerAutoConfiguration: 事务管理器的自动配置
● JdbcTemplateAutoConfiguration: JdbcTemplate的自动配置,可以来对数据库进行crud
○ 可以修改这个配置项@ConfigurationProperties(prefix = “spring.jdbc”) 来修改JdbcTemplate
○ @Bean@Primary JdbcTemplate;容器中有这个组件
● JndiDataSourceAutoConfiguration: jndi的自动配置
● XADataSourceAutoConfiguration: 分布式事务相关的

3、修改配置项

spring:datasource:url: jdbc:mysql://localhost:3306/db_account?serverTimezone=UTCusername: rootpassword: 123456#    type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverjdbc:template:query-timeout: 3

4、测试

@Slf4j
@SpringBootTest
class Boot05WebAdminApplicationTests {@AutowiredJdbcTemplate jdbcTemplate;@Testvoid contextLoads() {//        jdbcTemplate.queryForObject("select * from account_tbl")
//        jdbcTemplate.queryForList("select * from account_tbl",)Long aLong = jdbcTemplate.queryForObject("select count(*) from account_tbl", Long.class);log.info("记录总数:{}",aLong);}}

[SpringBoot2]数据访问_数据库场景的自动配置分析和整合测试相关推荐

  1. Springboot2数据访问

    数据库场景的自动配置分析与整合测试 导入JDBC场景 <dependency><groupId>org.springframework.boot</groupId> ...

  2. eclipse创建springboot项目_创建SpringBoot自动配置项目:Starter测试使用

    Starter 测试使用 完成了 starter 项目的创建.发布之后,在 Spring Boot 项目中便可以直接使用了,下面简单介绍一-下 Starter 测试使用步骤,其中省略掉了 Spring ...

  3. mysql触发器中访问mssql数据表_[数据库]一个利用触发器(trigger)实现数据库表的审计功能(audit)的例子--针对ms sql实现...

    首先建立数据库Test,建立两个表,我们命名为grades和audit,利用audit实现对grades的审计功能,其中grades用于存放学生的成绩,包括"sdudentID,course ...

  4. mysql数据漂移_数据库漂移-和数据库漂移相关的内容-阿里云开发者社区

    MySQL双主一致性架构优化 | 架构师之路 一.双主保证高可用 MySQL数据库集群常使用一主多从,主从同步,读写分离的方式来扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点. 在一个My ...

  5. 一个事务中 可以查询自己未提交的数据吗_数据库事务的方方面面

    事务 是关系型数据的一个重要特性,但很少有人能对事务有全面性的了解,这篇文章就把事务的方方面面讲给你. 事务的概念 什么是事务 数据库事务(事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的 ...

  6. sql表内数据默认_数据库篇-第一章:数据库基本概念

    基础知识学习,面试必备,关注吧 骚年 01 第一,什么是数据库? 维基百科上是这样定义的: 所谓"数据库"是以一定方式储存在一起.能予多个用户共享.具有尽可能小的冗余度.与应用程序 ...

  7. mysql 索引 数据页_数据库索引数据页

    索引的好处 索引带来的益处可能很多读者会认为只是"能够提高数据检索的效率,降低数据库的IO成本". 确实,在数据库中表的某个字段创建索引,所带来的最大益处就是将该字段作为检索条件时 ...

  8. mysql怎么写数据存储过程_数据库存储过程要怎么写

    SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数) ...

  9. [SpringBoot2]web场景_SpringBoot2_SpringMVC自动配置概览

    Spring Boot provides auto-configuration for Spring MVC that works well with most applications.(大多场景我 ...

最新文章

  1. 第五次作业+036+吴心怡
  2. 【OC语法快览】四、基础内存管理
  3. LIBSVM多分类问题 参数详解及实例演示
  4. CISCO SCE 第三部分 SCE平台的升级
  5. python工作环境_CentOS7下python工作环境管理
  6. [转]Nginx的负载均衡方式
  7. Google AJAX 搜索 API
  8. MySQL之Index(索引)
  9. 无差异曲线matlab算法,引入Matlab提高经济类线性代数应用能力
  10. Tomcat部署项目的方法
  11. 语音识别方案设计书.doc
  12. laravel5.5路由使用name的好处
  13. Samba使用大全(转
  14. 概率论 方差公式_2020考研数学:概率论核心考点与常见题型(上)
  15. 科幻-奇幻小说TOP100
  16. 建立matlab桌面遇到Error Staring Desktop
  17. CentOS 6忘记密码解决方法(三分钟超快o)
  18. python中一般使用几个空格表示缩进_python中使用空格还是使用 Tab键缩进的建议...
  19. 【考研经验】2018福州大学考研初试+复试心得
  20. nginx反向代理到第三方服务商的服务器

热门文章

  1. ArcGIS实验教程——实验三十九:ArcGIS多元分类(ISO聚类分析、最大似然分类、主成分分析)案例教程
  2. Fiddler之解决https链接返回数据显示乱码问题
  3. Android插件化开发基础之Java动态代理(proxy)机制的简单例子
  4. Linux之dd命令详解
  5. Android之版本检测和更新
  6. python人脸识别训练模型生产_深度学习-人脸识别DFACE模型pytorch训练(二)
  7. 3%7python_Centos7 Python2 升级到Python3
  8. 如何优雅地向导师/老板表示:“上周工作没什么进展”?
  9. 得罪前女友到底有多可怕?
  10. 身家4400亿美元的他,吃低于3美元的早餐,和2个老婆同居28年!