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

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

时间:2024-06-15 10:28:32浏览次数:19  
标签:H2 数据源 数据库 h2 JdbcTemplate org import

内置数据源

我们回顾一下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:~/mydb
    driver-class-name: org.h2.Driver
    username: root
    password: 123456
  h2:
    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 {

    @Test
    void testJdbcTemplateSave(@Autowired JdbcTemplate jdbcTemplate){
        String sql="insert into tbl_book values(3,'sb','sb')";
        System.out.println(jdbcTemplate.update(sql));
    }

}

这些技术

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

小结

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

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

小结

标签:H2,数据源,数据库,h2,JdbcTemplate,org,import
From: https://blog.csdn.net/qq_30500575/article/details/139697708

相关文章

  • Oauth2协议
    Oauth2.0Oauth2是一种委托协议,你可以通过Oauth2协议授权给某个应用程序,让该应用程序代替你去访问你的某些资源。资源拥有者(你)授权给某个应用,该应用会获得一个token(类似委托书,代表着这个这个应用获取了你的授权,可以代表你),这个应用带着这个token代表你去资源服务器获取你的某些资源......
  • openh264 帧内预测编码原理:WelsMdI4x4 函数
    介绍功能:针对4x4像素块的帧内模式决策原型:int32_tWelsMdI4x4(sWelsEncCtx*pEncCtx,SWelsMD*pWelsMd,SMB*pCurMb,SMbCache*pMbCache)参数:sWelsEncCtx*pEncCtx:指向编码上下文结构的指针,包含编码过程中需要的状态信息。SWelsMD*pWelsMd:指向运动检测结构的......
  • SpringBoot内置数据源
    回顾:在我们之前学习在配置文件当中配置对应的数据源的时候,我们设置的数据源其实都是Druid的数据源,并且其配置有两种方式,当然这两种方式都需要我们导入对应的有关德鲁伊的依赖才行一种是直接在开始设置为druid数据源类型的一种是在对应的正常的数据库配置下,设置......
  • 树开下拉列表数据源生成
    改自这位兄台的一段代码https://www.cnblogs.com/xiayang/archive/2010/07/19/1780566.html 1///<summary>2///生成一个树形的表样,3///</summary>4///<paramname="dtNodeSets">菜单记录数据所在的表</param>5///<paramn......
  • 【SpringBoot笔记46】SpringBoot多数据源配置(方式三:基于AOP动态切换需要使用哪个数据
    这篇文章,主要介绍SpringBoot多数据源配置(方式三:基于AOP动态切换需要使用哪个数据源)。目录一、SpringBoot多数据源配置1.1、多数据源介绍1.2、搭建基础工程1.3、创建两个数据库1.4、配置多数据源信息1.5、创建动态数据源对象1.6、创建DsContextHolder缓存类1.7、注入......
  • eth2.0基本概念
    1.Epoch在以太坊生态系统中,"epoch"是一个重要的概念,特别是在以太坊2.0(也称为Eth2或Serenity)中。以太坊2.0引入了权益证明(ProofofStake,PoS)共识机制,epoch在其中起到了关键作用。以下是关于以太坊epoch的详细解释:什么是Epoch?在以太坊2.0中,时间被分成了周期......
  • osgearth2.10 demo功能介绍 转载文章
    osgearth-2.10demo:说明:1、运行环境win7x64旗舰版,CPUi5-64008核,8G内存;2、括号内是对应demo的测试参数(.earth);3、配置OSG_FILE_PATH;4、参数命令行可以查看各个demo需要的输入参数;5、前缀说明:gui界面程序、cmd控制台程序、non功能未知;6、程序后括号里的non表示不需要通过命令......
  • AMD的旗舰AI加速器推出MI325X对标Nvidia H200
    ​AMD计划于今年晚些时候推出旗舰AI加速器MI325X,提供更高的带宽。这次发布意味着AMD正在跟随Nvidia的模式,转向了“Instinct”加速器系列的年度发布节奏。据目前了解的信息,InstinctMI325X与Nvidia的H200非常相似,是AMD在去年12月AdvancingAI活动中详细介绍的GPU的HBM3e增强版。......
  • Windows装机很难再创建本地账号!微软Win11 24H2封堵邮件绕过方案
    据国外科技媒体报道,在装机 Windows11 24H2镜像时,微软已经采取措施封堵了,之前流行的通过电子邮件地址绕过登录微软账号直接创建本地账号的方法。自2021年Windows11系统发布以来,微软要求用户在装机过程中联网并登录微软账号,否则就无法正常进入桌面。虽然用户曾找到多种方法来......
  • 异构数据源同步之数据同步 → DataX 使用细节
    开心一刻中午我妈微信给我消息妈:儿子啊,妈电话欠费了,能帮妈充个话费吗我:妈,我知道了,我帮你充当我帮我妈把话费充好,正准备回微信的时候,我妈微信给我发消息了妈:等会儿子,不用充了,刚刚有个二臂帮妈充上了我输入框中的(妈,充好了)是发还是不发?简单使用关于DataX,大家可以去看官网......