码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解


    内置数据源

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

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

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

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

    进行的一种配置方式

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

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

    我们切换德鲁伊连接池

    我们查看一下hikari的配置

    小结

    JdbcTemplate

    默认的持久化的技术

    简述

    这个技术目前不太有人用

    导入依赖

    当我们导入JDBC starter 的依赖时

    自动配置了数据源

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

    我们去掉Mybatis-plus的依赖后

    就不能使用BaseMapper的接口

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

    实操

    这样进行测试

    测试一下查询功能

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

    把数据封装进去

    然后定义sql语句

    调用jdbcTemplate里面的方法

    这边要是写增删改

    也是很简单

    直接换sql语句就行哈

    小结

    H2数据库

    内存级的数据库

    我们用内置数据源

    和新的持久化技术

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

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

    内嵌服务器是在内存里面

    不是一个独立的程序

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

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

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

    实操

    我们启动的话

    1. <dependency>
    2. <groupId>com.baomidou</groupId>
    3. <artifactId>mybatis-plus-boot-starter</artifactId>
    4. <version>3.5.1</version>
    5. </dependency>
    6. <dependency>
    7. <groupId>com.h2database</groupId>
    8. <artifactId>h2</artifactId>
    9. </dependency>

    对于我们的H2数据库

    我们也有界面

    我们先要进行配置

    1. spring:
    2. datasource:
    3. # 数据库
    4. url: jdbc:h2:~/mydb
    5. driver-class-name: org.h2.Driver
    6. username: root
    7. password: 123456
    8. h2:
    9. console:
    10. path: /h2 #h2嵌入式数据库控制台,可以通过浏览器访问
    11. enabled: true

    本地路径

    访问路径H2

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

    网页控制台

    填写信息

    进入控制台

    创建表的语句

    也是用SQL语句

    点击表

    会自动显示表的创建数据

    插值语句

    查询所有

    测试

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

    我们接着用jdbcTemplate

    进行插值语句的测试

    jdbcTemplate读取的是配置文件

    yml里面的datasource里面的配置

    读取的是H2的配置

    是一个内存级的数据库

    1. package com.example.demo;
    2. import com.example.demo.dao.GoodDao;
    3. import org.junit.jupiter.api.Test;
    4. import org.springframework.beans.factory.annotation.Autowired;
    5. import org.springframework.beans.factory.annotation.Value;
    6. import org.springframework.boot.test.context.SpringBootTest;
    7. import org.springframework.jdbc.core.JdbcTemplate;
    8. @SpringBootTest
    9. class DemoApplicationTests {
    10. @Test
    11. void testJdbcTemplateSave(@Autowired JdbcTemplate jdbcTemplate){
    12. String sql="insert into tbl_book values(3,'sb','sb')";
    13. System.out.println(jdbcTemplate.update(sql));
    14. }
    15. }

    这些技术

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

    小结

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

    记得上线的时候一定要把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

  • 相关阅读:
    Docker 部署本地爬虫项目到服务器
    爬虫学习笔记 -- 实战某电影网(lxml库版)
    Android请求网络报错:not permitted by network security policy
    spring中 shiro logout 配置方式
    【数据结构】栈、队列和数组
    作业 day6
    vue3的pinia详解
    MySQL游标
    使用gets函数求文件的行数
    nfs 网络文件系统
  • 原文地址:https://blog.csdn.net/qq_30500575/article/details/139697708
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号