Springboot項目本地連接并操作MySQL數據庫

目錄

前提

準備工作

用cmd在本地創建數據庫、表:

1.創建springboot項目(已有可跳過)

2.編輯Mybatis配置

3.連接數據庫

4.創建模型類,用于與數據庫里的數據表相連

5.創建接口mapper,定義對數據庫的操作

6.創建controller類,來處理前端發送的請求

7.創建xml配置文件,編寫SQL映射語句

前提

1.已有springboot項目,安裝有jdk(17版本以上)、MySQL

2.下載navicat軟件用于編輯數據庫(也可以是其他類似軟件)

3.下載apifox軟件用于創建接口并測試連接(按需求選擇)

準備工作

用cmd在本地創建數據庫、表:

  1. 登錄到MySQL:mysql -u 用戶名 -p
  2. 使用CREATE DATABASE語句來創建一個新的數據庫,例如,要創建一個名為my_database的數據庫:CREATE DATABASE my_database
  3. 在創建表之前,你需要先選擇你剛剛創建的數據庫,使用USE語句來選擇數據庫:USE my_database;
  4. 使用CREATE TABLE語句來定義表的結構,例如,要創建一個簡單的用戶表,你可以執行:

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(255) NOT NULL,

email VARCHAR(255) NOT NULL,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

這個命令創建了一個名為users的表,它包含四個字段:id(自增主鍵)、username(非空字符串)、email(非空字符串)和created_at(時間戳,默認為當前時間)。

1.創建springboot項目(已有可跳過)

項目結構:

2.編輯Mybatis配置

xml配置文件用于創建編輯數據庫的基礎命令,向數據表插入數據、更新數據、刪除數據等,注意名字要相對應。Java文件聲明數據庫編輯方法,如搜索賬戶是否存在

3.連接數據庫

1)打開navicat,點擊“文件”-> “新建連接”->“MySQL”,或者直接點擊下面的“連接”->“MySQL”,輸入本地創建的數據庫名稱,用戶名(默認為root),密碼,端口(默認3306)

連接成功后會顯示本地的數據庫,點擊“文件”->“新建”->“表”創建數據表,雙擊表可查看數據表內容。

2)springboot項目連接數據庫:

  • Username:用戶名
  • Password:密碼
  • url:數據庫路由,格式一般為“jdbc:mysql://localhost:3306/******(數據表名稱)useUnicode=true&characterEncoding=utf8&useSSL=false”
  • driver-class-name:驅動java數據庫連接程序(指JDBC,項目通過jdbc api與數據庫進行交互)

4.創建模型類,用于與數據庫里的數據表相連

  • @TableName(“數據表名”):連接的數據表表名
  • @Entity:將java標記為實體類,從而允許這些類映射到數據庫中的表
  • @Id:JPA(Java Persistence API)規范中的注解,標識實體類中的主鍵字段
  • @TableId:MyBatis-Plus 框架中的注解,用于標識實體類的主鍵字段

注意:@Id和@TableId二者作用相同,按項目所包含依賴選擇其一即可

右鍵->“生成”->“構造函數”setter和getter

5.創建接口mapper,定義對數據庫的操作

6.創建controller類,來處理前端發送的請求

  • @CrossOrigin(origin=“*”):允許所有來源訪問該url,解決本地訪問跨域問題
  • @RestController:@Controller和@ResponseBody的組合,它告訴Spring這個類是一個控制器(Controller),并且所有的方法返回的內容都直接寫入HTTP響應體中,而不是解析為跳轉路徑,這通常用于RESTful Web服務,其中返回的數據是JSON或XML等格式。
  • @RequestMapping(“/api/***”):用于將HTTP請求映射到特定的處理器方法或處理器類上
  • @Autowired:用于自動裝配Spring容器中的bean, 當Spring發現@Autowired注解時,它會嘗試查找匹配的bean來注入到被注解的字段、構造函數參數或setter方法的參數中。如果找到多個匹配的bean,并且沒有指定哪個bean應該被注入,那么將會拋出一個異常。如果找不到匹配的bean,并且該字段是可選的(即,它是null可以接受的類型,比如接口或接口的實現類的字段),那么它將不會被注入,而是保持為null。
  • @GetMapping:定義請求方式為Get方法(也可以是post方法PostMapping)

7.創建xml配置文件,編寫SQL映射語句

id:映射方法名

namespace:命名空間,指向mapper包里面的相同名字的java文件

UserMapper.java:

  • @Mapper指明是一個mapper接口
  • public interface UserMapper extends BaseMapper:UserMapper接口繼承自BaseMapper,這意味著它自動擁有了BaseMapper中定義的所有方法,這些方法都是針對UserInfo類型的數據進行操作的。這大大減少了編寫重復性代碼的需要。
  • 定義了一些自定義的方法,如selectByAccount、existsByAccount、insertUserToken等

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896813.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896813.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896813.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《寶塔 Nginx SSL 端口管理實戰指南:域名解析、端口沖突與后端代理解析》

📢 Nginx & SSL 端口管理分析 1?? 域名解析與 SSL 申請失敗分析 在使用寶塔申請 www.mywebsite.test 的 SSL 證書時,遇到了解析失敗的問題。最初,我認為 www 只是一個附加的前綴,不屬于域名的關鍵部分,因此只為…

java和Springboot和vue開發的企業批量排班系統人臉識別考勤打卡系統

演示視頻: https://www.bilibili.com/video/BV1KU9iYsEBU/?spm_id_from888.80997.embed_other.whitelist&t52.095574&bvidBV1KU9iYsEBU 主要功能: 管理員管理員工,采集員工人臉特征值存入數據庫,可選擇多個員工批量排班…

DeepSeek學習規劃

DeepSeek是一個專注于深度學習和人工智能技術研究與應用的平臺,旨在通過系統化的學習和實踐,幫助用戶掌握深度學習領域的核心知識和技能。為了在DeepSeek平臺上高效學習,制定一個科學合理的學習規劃至關重要。以下是一個詳細的學習規劃&#…

打開 Windows Docker Desktop 出現 Docker Engine Stopped 問題

一、關聯文章: 1、Docker Desktop 安裝使用教程 2、家庭版 Windows 安裝 Docker 沒有 Hyper-V 問題 3、安裝 Windows Docker Desktop - WSL問題 二、問題解析 打開 Docker Desktop 出現問題,如下: Docker Engine Stopped : Docker引擎停止三、解決方法 1、檢查服務是否…

突破Ajax跨域困境,解鎖前端通信新姿勢

一、引言 在當今的 Web 開發領域,前后端分離的架構模式已經成為主流,它極大地提升了開發效率和項目的可維護性。在這種開發模式下,前端通過 Ajax 技術與后端進行數據交互,然而,跨域問題卻如影隨形,成為了開…

Mercury、LLaDA 擴散大語言模型

LLaDA 參考: https://github.com/ML-GSAI/LLaDA https://ml-gsai.github.io/LLaDA-demo/ 在線demo: https://huggingface.co/spaces/multimodalart/LLaDA Mercury 在線demo: https://chat.inceptionlabs.ai/ 速度很快生成

Rust~String、str、str、String、Box<str> 或 Box<str>

Rust語言圣經中定義 str Rust 語言類型大致分為兩種:基本類型和標準庫類型,前者由語言特性直接提供,后者在標準庫中定義 str 是唯一定義在 Rust 語言特性中的字符串,但也是幾乎不會用到的字符串類型 str 字符串是 DST 動態大小…

大數據SQL調優專題——底層調優

引入 上一篇我們提到了調優的常見切入點,核心就是通過數據產出情況發現問題,借助監控等手段收集信息排查瓶頸在哪,最后結合業務理解,等價重寫思路去解決問題。 在實際工作場景中,去保證數據鏈路產出SLA的時候&#x…

Hue 編譯異常:ImportError: cannot import name ‘six‘ from ‘urllib3.packages‘

個人博客地址:Hue 編譯異常:ImportError: cannot import name six from urllib3.packages | 一張假鈔的真實世界 在編譯Hue的時候出現錯誤信息如下: Running /home/zhangjc/ysten/git/ysten-hue/build/env/bin/hue makemigrations --noinpu…

計算機網絡——詳解TCP三握四揮

文章目錄 前言一、三次握手1.1 三次握手流程1.2 tcp為什么需要三次握手建立連接? 二、四次揮手2.1 四次揮手流程2.2 為什么是四次,不是三次?2.3 為什么要等待2msl?2.4 TCP的保活計時器 前言 TCP和UDP是計算機網絡結構中運輸層的兩…

# C# 中堆(Heap)與棧(Stack)的區別

在 C# 中,堆和棧是兩種不同的內存分配機制,它們在存儲位置、生命周期、性能和用途上存在顯著差異。理解堆和棧的區別對于優化代碼性能和內存管理至關重要。 1. 棧(Stack) 1.1 定義 棧是一種后進先出(LIFO&#xff0…

如何把圖片或者圖片地址存到 MySQL 數據庫中以及如何將這些圖片數據通過 JSP 顯示在網頁中

如何優雅地管理圖片:從MySQL數據庫存儲到JSP展示的全流程解析 在互聯網時代,一張引人入勝的圖片往往能為網站帶來巨大的流量。而作為開發者的我們,如何高效地管理和展示這些圖片資源則成為了一項重要的技術挑戰。今天,我們就一起…

「拼好幀」小黃鴨 Lossless Scaling 軟件介紹與下載

「拼好幀」小黃鴨 Lossless Scaling 軟件介紹與下載 在游戲和視頻播放時,你是否遇到過分辨率不匹配、畫質模糊的問題?今天給大家介紹一款神器——Lossless Scaling(拼好幀),也被玩家們親切地稱為“小黃鴨”&#xff0…

科普|無人機專業術語

文章目錄 前言一、飛控二、電調三、通道四、2S、3S、4S電池五、電池后面C是什么意思?六、電機的型號七、什么是電機的KV值?八、螺旋槳的型號九、電機與螺旋槳的搭配 前言 無人機飛控系統控制飛行姿態,電調控制電機轉速,遙控器通道控制飛行動作。電池C…

和鯨科技攜手四川氣象,以 AI 的力量賦能四川氣象一體化平臺建設

氣象領域與農業、能源、交通、環境科學等國計民生關鍵領域緊密相連,發揮著不可替代的重要作用。人工智能技術的迅猛發展,為氣象領域突破困境帶來了新的契機。AI 技術能夠深度挖掘氣象大數據中蘊含的復雜信息,助力人類更精準地把握自然規律&am…

Linux mount命令

Linux mount命令是經常會使用到的命令,它用于掛載Linux系統外的文件。 一、掛載功能介紹 掛載方法:mount DECE MOUNT_POINT 命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir device:指明要掛載的設備&…

《Operating System Concepts》閱讀筆記:p177-p178

《Operating System Concepts》學習第 18 天,p177-p178 總結,總計 2 頁。 一、技術總結 1.implicit thread A programming model that transfers the creation and management of threading from application developers to compilers and run-time l…

Redis緩存一致性難題:如何讓數據庫和緩存不“打架”?

標題:Redis緩存一致性難題:如何讓數據庫和緩存不“打架”?(附程序員脫發指南) 導言:當數據庫和緩存成了“異地戀” 想象一下:你剛在美團下單了一份麻辣小龍蝦,付款后刷新頁面&#…

委托者模式(掌握設計模式的核心之一)

目錄 問題: 舉例: 總結:核心就是利用Java中的多態來完成注入。 問題: 今天刷面經,刷到裝飾者模式,又進階的發現委托者模式,發現還是不理解,特此記錄。 舉例: ?老板?…

[密碼學實戰]Java實現SM4加解密(ecb,cbc)及工具驗證

前言 在現代信息安全領域,數據加密技術是保障數據安全的核心手段之一。SM4作為中國國家密碼管理局發布的對稱加密算法,因其高效性和安全性,廣泛應用于金融、政務、通信等領域。本文將詳細介紹如何使用Java實現SM4的加解密操作,并深入探討SM4的幾種常見加密模式及其原理。 …