当前位置: 首页 > news >正文

传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解

内置数据源

我们回顾一下druid数据源的配置方式

通过type属性指定数据源的类型

导入依赖 starter就使用了spring的自动装配功能

格式二是在引入druid的依赖的基础上

进行的一种配置方式

Tomcat内部也可以进行数据源的配置

轻量级中最快的数据源对象

我们切换德鲁伊连接池

我们查看一下hikari的配置

小结

JdbcTemplate

默认的持久化的技术

简述

这个技术目前不太有人用

导入依赖

当我们导入JDBC starter 的依赖时

自动配置了数据源

是一个操作数据库的模版对象

我们去掉Mybatis-plus的依赖后

就不能使用BaseMapper的接口

而且数据层接口也不能加载为bean后注入测试

实操

这样进行测试

测试一下查询功能

我们首先要建立一个行列式模型

把数据封装进去

然后定义sql语句

调用jdbcTemplate里面的方法

这边要是写增删改

也是很简单

直接换sql语句就行哈

小结

H2数据库

内存级的数据库

我们用内置数据源

和新的持久化技术

我们的数据库也可以换其他的内嵌数据库

我们能把java程序放到spring容器里面

内嵌服务器是在内存里面

不是一个独立的程序

我们数据库代码书写量很小

而且启动起来都是在内存运行 测试

等到上线的时候直接换其他数据库如轻量级数据库MySQL

实操

我们启动的话

        <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId></dependency>

对于我们的H2数据库

我们也有界面

我们先要进行配置

spring:datasource:# 数据库url: jdbc:h2:~/mydbdriver-class-name: org.h2.Driverusername: rootpassword: 123456h2:console:path: /h2  #h2嵌入式数据库控制台,可以通过浏览器访问enabled: true

本地路径

访问路径H2

我们找到了H2数据库和他的配置文件

网页控制台

填写信息

进入控制台

创建表的语句

也是用SQL语句

点击表

会自动显示表的创建数据

插值语句

查询所有

测试

我们接下来要在java程序中使用H2数据库

我们接着用jdbcTemplate

进行插值语句的测试

jdbcTemplate读取的是配置文件

yml里面的datasource里面的配置

读取的是H2的配置

是一个内存级的数据库

package com.example.demo;import com.example.demo.dao.GoodDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;@SpringBootTest
class DemoApplicationTests {@Testvoid testJdbcTemplateSave(@Autowired JdbcTemplate jdbcTemplate){String sql="insert into tbl_book values(3,'sb','sb')";System.out.println(jdbcTemplate.update(sql));}}

这些技术

在换的时候简直是无缝衔接

小结

这是一个非常大的安全隐患

记得上线的时候一定要把H2数据库关掉

小结

个人号推广

博客主页

多多!-CSDN博客

Web后端开发

https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482

Web前端开发

https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482

数据库开发

https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482

项目实战

https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482

算法与数据结构

https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482

计算机基础

https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482

回忆录

https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482

相关文章:

  • YOLOv10改进 | Conv篇 |YOLOv10引入SPD-Conv卷积
  • 【前端技巧】css篇
  • React.ReactElement 与 React.ReactNode
  • Effective C++ 改善程序与设计的55个具体做法笔记与心得 3
  • SonarQube集成Jenkins平台搭建
  • 【Python】一文向您详细解析内置装饰器 @lru_cache
  • 【Android面试八股文】Kotlin内置标准函数let的原理是什么?
  • 初识C++ · 继承(1)
  • 乐鑫ESP32相关资料整理
  • 喜马拉雅项目调整
  • 让NSdata对象转变成UIImage对象再裁剪图片的方法
  • Linux--视频推流及问题
  • 新渠道+1!TDengine Cloud 入驻 Azure Marketplace
  • 代码随想录刷题复习day01
  • Java多线程设计模式之保护性暂挂模式
  • 2019.2.20 c++ 知识梳理
  • conda常用的命令
  • crontab执行失败的多种原因
  • ECS应用管理最佳实践
  • emacs初体验
  • ES6系统学习----从Apollo Client看解构赋值
  • FineReport中如何实现自动滚屏效果
  • Go 语言编译器的 //go: 详解
  • JavaScript学习总结——原型
  • Linux Process Manage
  • ucore操作系统实验笔记 - 重新理解中断
  • Zsh 开发指南(第十四篇 文件读写)
  • 初识MongoDB分片
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 从tcpdump抓包看TCP/IP协议
  • 如何学习JavaEE,项目又该如何做?
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 正则与JS中的正则
  • ​io --- 处理流的核心工具​
  • ​比特币大跌的 2 个原因
  • # Java NIO(一)FileChannel
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (二)原生js案例之数码时钟计时
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (三十五)大数据实战——Superset可视化平台搭建
  • (一)kafka实战——kafka源码编译启动
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net8.0与halcon编程环境构建
  • .Net插件开发开源框架
  • @KafkaListener注解详解(一)| 常用参数详解
  • @我的前任是个极品 微博分析
  • [04]Web前端进阶—JS伪数组
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory