国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot——數(shù)據(jù)層三組件之間的關(guān)系

這篇具有很好參考價值的文章主要介紹了SpringBoot——數(shù)據(jù)層三組件之間的關(guān)系。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

簡單介紹

在之前的文章中,我們介紹了一下SpringBoot中內(nèi)置的幾種數(shù)據(jù)層的解決方案,在數(shù)據(jù)層由三部分組成,分別是數(shù)據(jù)庫,持久化技術(shù)以及數(shù)據(jù)源,但是我今天寫著寫著,突然就想不起來這三部分到底是干什么的了,所以特意作文回憶一下我們這一路到底是用到現(xiàn)在的數(shù)據(jù)層模式的,以及我們一開始的數(shù)據(jù)模式是什么,主要還是想理一下這個三個組成部分的關(guān)系。

一切的開始

第一次接觸數(shù)據(jù)庫編程,基礎(chǔ)的是MySQL,作為一款市場最廣,最好上手的一款開源數(shù)據(jù)庫,使用MySQL開局確實不錯,但是第一次看到MySQL,他是這個樣子的:SpringBoot——數(shù)據(jù)層三組件之間的關(guān)系,spring boot,后端,java

很好,很符合我對程序員的想象,就是一個樸實無華的黑框,沒有任何的花里胡哨的作用,就是單純的執(zhí)行SQL語句,甚至有時候你換個行都會導致語句報錯。

后來接觸到了第一個數(shù)據(jù)可視化軟件,這個因人而異,我第一次接觸是NaiCat,有一些人是SQLyog,但是無論哪一個,猛地從小黑框換成一個可編程的界面多少還是有一點小驚喜的:SpringBoot——數(shù)據(jù)層三組件之間的關(guān)系,spring boot,后端,javaSpringBoot——數(shù)據(jù)層三組件之間的關(guān)系,spring boot,后端,java

到了后來,除了MySQL,開始深入其他的編程語言,我第一個接觸的編程語言是Java,然后在很長的一段時間,我用的都是這個:SpringBoot——數(shù)據(jù)層三組件之間的關(guān)系,spring boot,后端,java?直到現(xiàn)在我依然覺得這個很好用,能在代碼和SQL界面之間切換,還是很不錯的。

說回編程

對于SQL的編程,之前學習的SQL語言自然不用多說,這是肯定都會的,然后就是Java連接數(shù)據(jù)庫。既然是Java連接SQL數(shù)據(jù)庫編程,肯定離不開的就是JDBC

package com.example.springbootsum.pojo;

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

public class JDBC {
    public static void main(String[] args) throws Exception {
//        數(shù)據(jù)源
        Class.forName("com.mysql.cj.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/jdbc";
        String username = "root";
        String password = "數(shù)據(jù)庫密碼";
        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——數(shù)據(jù)層三組件之間的關(guān)系,spring boot,后端,java

?有點簡陋,但是道理是一樣的。

我們在使用JDBC的時候就說過,首先你的數(shù)據(jù)庫賬號和密碼都在代碼里,不安全。你的SQL也在代碼里,不安全。而且你要說更換自己的SQL就得從代碼里找自己的SQL寫在哪里,如果你要是編碼習慣好點,你把SQL都寫在統(tǒng)一的地方,還好說,你要是跟我一樣寫的像是Shift一樣,自己看了都給自己氣笑了了的程度那我勸你善良。

這是第一階段,這個時候?qū)τ贘ava操作數(shù)據(jù)庫僅僅是做了解,那時候我還是學的JavaWeb,比起數(shù)據(jù)庫,更吸引我的還是炫酷的前端動畫和框架,以及動態(tài)網(wǎng)頁,至于數(shù)據(jù)庫,那都是后話。得到了對于JDBC熟悉了之后,就開始接觸另一個東西叫做JavaEE,然后就開始接觸成熟的框架,那個時候才對數(shù)據(jù)源,持久化技術(shù)這種東西。

我在JDBC的代碼中也表明了數(shù)據(jù)源和持久化技術(shù)的底層代碼都是什么,數(shù)據(jù)源就是數(shù)據(jù)庫連接對象,之前是你把數(shù)據(jù)庫連接信息寫在代碼里自己手動生成數(shù)據(jù)源連接對象,然后操作SQL語句,數(shù)據(jù)源說你寫的代碼不嚴謹,我來幫你吧。

然后數(shù)據(jù)源這個東西就出現(xiàn)了,第一個接觸的數(shù)據(jù)源就是Druid,然后順便也開始使用框架去進行規(guī)范的開發(fā)流程,只不過那時候的框架還是原生的Spring,需要寫的代碼和配置文件還是不少。

從一開始的XML方式開發(fā),到后來的純注解式開發(fā),數(shù)據(jù)源需要寫的基本就只剩下用戶名和密碼以及url,直接就能獲取一個現(xiàn)成的,完整的數(shù)據(jù)庫連接對象,豈不美哉。

那么說回來,數(shù)據(jù)源的標準定義如下:

數(shù)據(jù)源,簡單理解為數(shù)據(jù)源頭,提供了應用程序所需要數(shù)據(jù)的位置。數(shù)據(jù)源保證了應用程序與目標數(shù)據(jù)之間交互的規(guī)范和協(xié)議,它可以是數(shù)據(jù)庫,文件系統(tǒng)等等。其中數(shù)據(jù)源定義了位置信息,用戶驗證信息和交互時所需的一些特性的配置,同時它封裝了如何建立與數(shù)據(jù)源的連接,向外暴露獲取連接的接口。

當然是百度的,這么長一段我可記不住。

我用到現(xiàn)在也還停留在數(shù)據(jù)源就是我給他一組數(shù)據(jù)庫連接信息他給我一個完美的數(shù)據(jù)庫連接對象的程度,我承認,我不是一個好的程序員。

后來一個數(shù)據(jù)源不夠用,當你的服務對外開放之后,你的數(shù)據(jù)庫會被很多人訪問,這時候單個的數(shù)據(jù)源肯定是不夠用的,這時候就出現(xiàn)了數(shù)據(jù)庫連接池,可以一次創(chuàng)建多個數(shù)據(jù)源供人使用,節(jié)省資源,這就是后話了。

持久化技術(shù)

持久化技術(shù)就是在JDBC中的后半部分,也就是我們在Java中執(zhí)行SQL代碼將數(shù)據(jù)寫入數(shù)據(jù)庫中或者說將數(shù)據(jù)庫中的數(shù)據(jù)讀取出來的過程。一開始的持久化技術(shù)非常的繁瑣,你需要自己寫SQL,自己寫結(jié)果集的處理,自己將結(jié)果集的單個字段于Java對象建立連接,那時候做個開發(fā)很難,寫這些SQL展示到自己的網(wǎng)頁里就非常的麻煩,后來開始解除了另一種簡單一些的持久化技術(shù),JdbcTemplate。

這種技術(shù)之前已經(jīng)演示過了,確實是節(jié)省了處理結(jié)果集的步驟,但是依然沒有解決SQL的硬編碼問題,在這個階段開發(fā)舒服了一些,最直觀的就是可以直接將數(shù)據(jù)集與Java對象關(guān)聯(lián)起來。

后來開始接觸Spring框架,然后是MyBatis,這時候的后端開發(fā)就很方便了,可以將SQL語句寫在配置文件中,或者是直接以注釋參數(shù)的方式寫在接口中,然后直接通過方法返回一個對象,在Java里操作對象會方便很多。

后來進化到了MyBatis-Plus,更快更方便的制作數(shù)據(jù)層的持久化,與數(shù)據(jù)庫的交互就更容易了。

關(guān)于持久化技術(shù),他的官方定義是這樣的:

將內(nèi)存中的瞬時數(shù)據(jù)保存到存儲設備中。

這個我努努力能記得住,但是講真的,我用到現(xiàn)在的持久化基礎(chǔ)除了寫道數(shù)據(jù)庫里就是寫在文件里,其他的使用場景,還真的挺少,果然,我是一個FW程序員。

盡管現(xiàn)在的開發(fā)速度越來越快,開發(fā)流程越來越成熟,但是偶爾我還是會寫一些JDBC的東西,去體驗一下最底層,最單純的美好。?文章來源地址http://www.zghlxwxcb.cn/news/detail-612086.html

到了這里,關(guān)于SpringBoot——數(shù)據(jù)層三組件之間的關(guān)系的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Spring Boot】四種核心類的依賴關(guān)系:實體類、數(shù)據(jù)處理類、業(yè)務處理類、控制器類

    //1.配置項目環(huán)境,創(chuàng)建Spring Boot項目。 //2.數(shù)據(jù)庫設置,配置數(shù)據(jù)庫。 //3.創(chuàng)建實體類,映射到數(shù)據(jù)庫。 //4.創(chuàng)建數(shù)據(jù)處理層類,Repository //5.創(chuàng)建業(yè)務處理類,Service類 //6.創(chuàng)建控制器類,Controller類 Article.java java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import java

    2024年02月11日
    瀏覽(18)
  • 后端使用Spring Boot生成Excel文件,前端使用微信小程序上送數(shù)據(jù)并下載Excel文件

    后端:Spring Boot生成Excel文件添加依賴 在 pom.xml 中添加Apache POI的依賴: 創(chuàng)建一個用于生成Excel文件的方法 ????????4.創(chuàng)建一個用于處理Excel文件的Controller 前端:微信小程序上送數(shù)據(jù)并下載Excel文件 在 app.json 中添加一個用于下載Excel文件的頁面: 在 pages/download 目錄下創(chuàng)建

    2024年04月11日
    瀏覽(27)
  • 【ubuntu】systemd 管理系統(tǒng)組件和服務之間的依賴關(guān)系

    systemd 使用單位(units)來定義系統(tǒng)組件和服務,每個單位都有一個對應的配置文件,其中定義了單位的屬性和依賴關(guān)系。 systemd 使用使用配置文件來管理服務之間的依賴關(guān)系。這些配置文件通常位于 /etc/systemd/system/ 目錄或 /usr/lib/systemd/system/ 目錄中,具體取決于系統(tǒng)配置。

    2024年02月11日
    瀏覽(22)
  • 【Spring Boot】SpringBoot和數(shù)據(jù)庫交互: 使用Spring Data JPA

    在現(xiàn)代應用程序的開發(fā)中,數(shù)據(jù)是核心部分。為了能夠持久化、檢索、更新和刪除數(shù)據(jù),應用程序需要與數(shù)據(jù)庫進行交互。 1.1 為什么需要數(shù)據(jù)庫交互 數(shù)據(jù)持久化 :當你關(guān)閉應用程序或者服務器時,你仍希望數(shù)據(jù)能夠保存。數(shù)據(jù)庫提供了一個持久的存儲方案,使得數(shù)據(jù)在關(guān)閉

    2024年02月12日
    瀏覽(28)
  • Spring Boot 整合 Shiro(后端)

    Spring Boot 整合 Shiro(后端)

    1 Shiro 什么是 Shiro 官網(wǎng): http://shiro.apache.org/ 是一款主流的 Java 安全框架,不依賴任何容器,可以運行在 Java SE 和 Java EE 項目中,它的主要作用是對訪問系統(tǒng)的用戶進行身份認證、 授權(quán)、會話管理、加密等操作。 Shiro 就是用來解決安全管理的系統(tǒng)化框架。 2 Shiro 核心組件 用

    2024年02月09日
    瀏覽(26)
  • 淺談Spring Cloud與Spring Boot概念與關(guān)系

    Spring boot簡化了基于Spring的應用開發(fā),通過少量的代碼就能創(chuàng)建一個獨立的,產(chǎn)品級別的Spring應用。Spring Boot為Spring平臺及第三方庫提供開箱即用的設置,這樣你就可以有條不紊的開始,多數(shù)Spring應用只需要很少的Spring配置。 Spring boot簡化了基于Spring的應用開發(fā),通過少量的代

    2024年02月11日
    瀏覽(15)
  • Spring Boot項目使用 jasypt 加密組件進行加密(例如:數(shù)據(jù)庫、服務的Key、等等進行加密)

    Spring Boot項目使用 jasypt 加密組件進行加密(例如:數(shù)據(jù)庫、服務的Key、等等進行加密)

    ?? 簡介:java系列技術(shù)分享(??持續(xù)更新中…??) ?? 初衷:一起學習、一起進步、堅持不懈 ?? 如果文章內(nèi)容有誤與您的想法不一致,歡迎大家在評論區(qū)指正?? ?? 希望這篇文章對你有所幫助,歡迎點贊 ?? 收藏 ?留言 ?? ?? 更多文章請點擊 密碼配置項都不加密? 想啥呢? 一

    2024年02月07日
    瀏覽(34)
  • Spring Boot、Spring Cloud與Spring Cloud Alibaba版本對應關(guān)系

    Spring Boot、Spring Cloud與Spring Cloud Alibaba版本對應關(guān)系

    一、前言 在搭建SpringCloud項目環(huán)境架構(gòu)的時候,經(jīng)常需要選擇SpringBoot和SpringCloud進行兼容的版本號。因此,對于選擇SpringBoot版本與SpringCloud版本的對應關(guān)系很重要,如果版本關(guān)系不對應,常見的會遇見項目啟動不起來,怪異的則會是你的項目出現(xiàn)一些詭異的問題,查資料也不

    2024年02月07日
    瀏覽(93)
  • Vue 和 Spring Boot 之間傳遞時間的方法詳解

    在 Vue 和 Spring Boot 的開發(fā)中,經(jīng)常需要在前端和后端之間傳遞時間數(shù)據(jù)。本文將介紹如何在 Vue 和 Spring Boot 中傳遞時間,并保持數(shù)據(jù)的一致性和正確性。 在上述示例中,我們使用 new Date() 創(chuàng)建一個表示當前時間的 Date 對象。然后,可以使用 getTime() 方法將時間轉(zhuǎn)換為時間戳,

    2024年02月13日
    瀏覽(35)
  • Android前端+Spring Boot后端 登錄功能實現(xiàn)

    Android前端+Spring Boot后端 登錄功能實現(xiàn)

    創(chuàng)建項目后,自己添加包,框架如下 ? userController里的一些內(nèi)容,只供參考,代碼不全,無法實現(xiàn) 數(shù)據(jù)庫是直接在社區(qū)版IDEA里連接Mysql,在控制臺端創(chuàng)建的數(shù)據(jù)庫和user表,用于數(shù)據(jù)交互。 Activity包里是Activity Java類,主要響應layout包里activity_login.xml等頁面布局內(nèi)的按鈕響應 a

    2024年02月12日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包