SpringBoot——数据层三组件之间的关系

这篇具有很好参考价值的文章主要介绍了SpringBoot——数据层三组件之间的关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简单介绍

在之前的文章中,我们介绍了一下SpringBoot中内置的几种数据层的解决方案,在数据层由三部分组成,分别是数据库,持久化技术以及数据源,但是我今天写着写着,突然就想不起来这三部分到底是干什么的了,所以特意作文回忆一下我们这一路到底是用到现在的数据层模式的,以及我们一开始的数据模式是什么,主要还是想理一下这个三个组成部分的关系。

一切的开始

第一次接触数据库编程,基础的是MySQL,作为一款市场最广,最好上手的一款开源数据库,使用MySQL开局确实不错,但是第一次看到MySQL,他是这个样子的:SpringBoot——数据层三组件之间的关系,spring boot,后端,java

很好,很符合我对程序员的想象,就是一个朴实无华的黑框,没有任何的花里胡哨的作用,就是单纯的执行SQL语句,甚至有时候你换个行都会导致语句报错。

后来接触到了第一个数据可视化软件,这个因人而异,我第一次接触是NaiCat,有一些人是SQLyog,但是无论哪一个,猛地从小黑框换成一个可编程的界面多少还是有一点小惊喜的:SpringBoot——数据层三组件之间的关系,spring boot,后端,javaSpringBoot——数据层三组件之间的关系,spring boot,后端,java

到了后来,除了MySQL,开始深入其他的编程语言,我第一个接触的编程语言是Java,然后在很长的一段时间,我用的都是这个:SpringBoot——数据层三组件之间的关系,spring boot,后端,java 直到现在我依然觉得这个很好用,能在代码和SQL界面之间切换,还是很不错的。

说回编程

对于SQL的编程,之前学习的SQL语言自然不用多说,这是肯定都会的,然后就是Java连接数据库。既然是Java连接SQL数据库编程,肯定离不开的就是JDBC

package com.example.springbootsum.pojo;

import java.sql.*;
import java.util.HashMap;

public class JDBC {
    public static void main(String[] args) throws Exception {
//        数据源
        Class.forName("com.mysql.cj.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/jdbc";
        String username = "root";
        String password = "数据库密码";
        Connection connection = DriverManager.getConnection(url, username, password);
        Statement statement = connection.createStatement();
//        持久化
        String sql = "select * from user";
        ResultSet resultSet = statement.executeQuery(sql);
        HashMap<Integer,String> user = new HashMap<Integer, String>();
        while (resultSet.next()){
            user.put(resultSet.getInt("id"), resultSet.getString("name"));
        }
        System.out.println(user);
    }
}

SpringBoot——数据层三组件之间的关系,spring boot,后端,java

 有点简陋,但是道理是一样的。

我们在使用JDBC的时候就说过,首先你的数据库账号和密码都在代码里,不安全。你的SQL也在代码里,不安全。而且你要说更换自己的SQL就得从代码里找自己的SQL写在哪里,如果你要是编码习惯好点,你把SQL都写在统一的地方,还好说,你要是跟我一样写的像是Shift一样,自己看了都给自己气笑了了的程度那我劝你善良。

这是第一阶段,这个时候对于Java操作数据库仅仅是做了解,那时候我还是学的JavaWeb,比起数据库,更吸引我的还是炫酷的前端动画和框架,以及动态网页,至于数据库,那都是后话。得到了对于JDBC熟悉了之后,就开始接触另一个东西叫做JavaEE,然后就开始接触成熟的框架,那个时候才对数据源,持久化技术这种东西。

我在JDBC的代码中也表明了数据源和持久化技术的底层代码都是什么,数据源就是数据库连接对象,之前是你把数据库连接信息写在代码里自己手动生成数据源连接对象,然后操作SQL语句,数据源说你写的代码不严谨,我来帮你吧。

然后数据源这个东西就出现了,第一个接触的数据源就是Druid,然后顺便也开始使用框架去进行规范的开发流程,只不过那时候的框架还是原生的Spring,需要写的代码和配置文件还是不少。

从一开始的XML方式开发,到后来的纯注解式开发,数据源需要写的基本就只剩下用户名和密码以及url,直接就能获取一个现成的,完整的数据库连接对象,岂不美哉。

那么说回来,数据源的标准定义如下:

数据源,简单理解为数据源头,提供了应用程序所需要数据的位置。数据源保证了应用程序与目标数据之间交互的规范和协议,它可以是数据库,文件系统等等。其中数据源定义了位置信息,用户验证信息和交互时所需的一些特性的配置,同时它封装了如何建立与数据源的连接,向外暴露获取连接的接口。

当然是百度的,这么长一段我可记不住。

我用到现在也还停留在数据源就是我给他一组数据库连接信息他给我一个完美的数据库连接对象的程度,我承认,我不是一个好的程序员。

后来一个数据源不够用,当你的服务对外开放之后,你的数据库会被很多人访问,这时候单个的数据源肯定是不够用的,这时候就出现了数据库连接池,可以一次创建多个数据源供人使用,节省资源,这就是后话了。

持久化技术

持久化技术就是在JDBC中的后半部分,也就是我们在Java中执行SQL代码将数据写入数据库中或者说将数据库中的数据读取出来的过程。一开始的持久化技术非常的繁琐,你需要自己写SQL,自己写结果集的处理,自己将结果集的单个字段于Java对象建立连接,那时候做个开发很难,写这些SQL展示到自己的网页里就非常的麻烦,后来开始解除了另一种简单一些的持久化技术,JdbcTemplate。

这种技术之前已经演示过了,确实是节省了处理结果集的步骤,但是依然没有解决SQL的硬编码问题,在这个阶段开发舒服了一些,最直观的就是可以直接将数据集与Java对象关联起来。

后来开始接触Spring框架,然后是MyBatis,这时候的后端开发就很方便了,可以将SQL语句写在配置文件中,或者是直接以注释参数的方式写在接口中,然后直接通过方法返回一个对象,在Java里操作对象会方便很多。

后来进化到了MyBatis-Plus,更快更方便的制作数据层的持久化,与数据库的交互就更容易了。

关于持久化技术,他的官方定义是这样的:

将内存中的瞬时数据保存到存储设备中。

这个我努努力能记得住,但是讲真的,我用到现在的持久化基础除了写道数据库里就是写在文件里,其他的使用场景,还真的挺少,果然,我是一个FW程序员。

尽管现在的开发速度越来越快,开发流程越来越成熟,但是偶尔我还是会写一些JDBC的东西,去体验一下最底层,最单纯的美好。 文章来源地址https://www.toymoban.com/news/detail-612086.html

到了这里,关于SpringBoot——数据层三组件之间的关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spring Boot】四种核心类的依赖关系:实体类、数据处理类、业务处理类、控制器类

    //1.配置项目环境,创建Spring Boot项目。 //2.数据库设置,配置数据库。 //3.创建实体类,映射到数据库。 //4.创建数据处理层类,Repository //5.创建业务处理类,Service类 //6.创建控制器类,Controller类 Article.java java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import java

    2024年02月11日
    浏览(44)
  • 后端使用Spring Boot生成Excel文件,前端使用微信小程序上送数据并下载Excel文件

    后端:Spring Boot生成Excel文件添加依赖 在 pom.xml 中添加Apache POI的依赖: 创建一个用于生成Excel文件的方法         4.创建一个用于处理Excel文件的Controller 前端:微信小程序上送数据并下载Excel文件 在 app.json 中添加一个用于下载Excel文件的页面: 在 pages/download 目录下创建

    2024年04月11日
    浏览(91)
  • 【ubuntu】systemd 管理系统组件和服务之间的依赖关系

    systemd 使用单位(units)来定义系统组件和服务,每个单位都有一个对应的配置文件,其中定义了单位的属性和依赖关系。 systemd 使用使用配置文件来管理服务之间的依赖关系。这些配置文件通常位于 /etc/systemd/system/ 目录或 /usr/lib/systemd/system/ 目录中,具体取决于系统配置。

    2024年02月11日
    浏览(39)
  • 【Spring Boot】SpringBoot和数据库交互: 使用Spring Data JPA

    在现代应用程序的开发中,数据是核心部分。为了能够持久化、检索、更新和删除数据,应用程序需要与数据库进行交互。 1.1 为什么需要数据库交互 数据持久化 :当你关闭应用程序或者服务器时,你仍希望数据能够保存。数据库提供了一个持久的存储方案,使得数据在关闭

    2024年02月12日
    浏览(52)
  • Spring Boot 整合 Shiro(后端)

    1 Shiro 什么是 Shiro 官网: http://shiro.apache.org/ 是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、 授权、会话管理、加密等操作。 Shiro 就是用来解决安全管理的系统化框架。 2 Shiro 核心组件 用

    2024年02月09日
    浏览(51)
  • 浅谈Spring Cloud与Spring Boot概念与关系

    Spring boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的,产品级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊的开始,多数Spring应用只需要很少的Spring配置。 Spring boot简化了基于Spring的应用开发,通过少量的代

    2024年02月11日
    浏览(35)
  • Spring Boot项目使用 jasypt 加密组件进行加密(例如:数据库、服务的Key、等等进行加密)

    🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝 🍓 更多文章请点击 密码配置项都不加密? 想啥呢? 一

    2024年02月07日
    浏览(76)
  • Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系

    一、前言 在搭建SpringCloud项目环境架构的时候,经常需要选择SpringBoot和SpringCloud进行兼容的版本号。因此,对于选择SpringBoot版本与SpringCloud版本的对应关系很重要,如果版本关系不对应,常见的会遇见项目启动不起来,怪异的则会是你的项目出现一些诡异的问题,查资料也不

    2024年02月07日
    浏览(55)
  • Vue 和 Spring Boot 之间传递时间的方法详解

    在 Vue 和 Spring Boot 的开发中,经常需要在前端和后端之间传递时间数据。本文将介绍如何在 Vue 和 Spring Boot 中传递时间,并保持数据的一致性和正确性。 在上述示例中,我们使用 new Date() 创建一个表示当前时间的 Date 对象。然后,可以使用 getTime() 方法将时间转换为时间戳,

    2024年02月13日
    浏览(65)
  • Android前端+Spring Boot后端 登录功能实现

    创建项目后,自己添加包,框架如下   userController里的一些内容,只供参考,代码不全,无法实现 数据库是直接在社区版IDEA里连接Mysql,在控制台端创建的数据库和user表,用于数据交互。 Activity包里是Activity Java类,主要响应layout包里activity_login.xml等页面布局内的按钮响应 a

    2024年02月12日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包