Springboot 實踐(3)配置DataSource及創建數據庫

????????前文講述了利用MyEclipse2019開發工具,創建maven工程、加載springboot、swagger-ui功能。本文講述創建數據庫,為項目配置數據源,實現數據的增刪改查服務,并通過swagger-ui界面舉例調試服務控制器

  1. 創建數據庫

項目使用MySQL 8.0.31數據,數據庫的庫表結構的建立可行方式如下:

(1)查找MySQL 命令語句,利用命令生成庫表結構

(2)利用navcat for mysql 工具,通過軟件界面生成;

(3)利用已有的sql文件,自動生成庫表結構;

本文利用已有的sql文件,使用navcat for mysql 工具導入生成庫表結構。步驟如下:

? ? ? ? (1)打開navcat for mysql,輸入鏈接名稱“localhost”,IP地址“localhost”,端口號“3306”,用戶名“root”,以及數據庫密碼,點擊“確定”,建立連接。

? ? ? ?(2)雙擊上一步建立的鏈接“localhost”,打開鏈接;

? ? ? ?(3)右擊鏈接“localhost”,選擇“運行sql文件”,進入文件選擇窗口,選擇sql文件

備注:此處利用已有mango.sql文件,數據庫文件含有用戶管理數據庫表和授權數據庫表;除了此文使用外,后續springboot授權等都會用到此數據庫。學友們如需要,關注作者賬戶,聯系獲取文件。

mango.sql文件生成庫表機構如下:

????????2、配置數據源

? ? ? ? (1)打開application.yml文件

? ? ? ? (2)添加配置代碼

Spring:

application:? ? ????????name:MySQLBackUpTools????????????????????????????????????????????????????????????????????????????????????????????????????????datasource:

? name: druidDataSource

? type: com.alibaba.druid.pool.DruidDataSource

? druid:

??? driver-class-name: com.mysql.jdbc.Driver? url:jdbc:mysql://localhost:3306/mysqlbackuptools?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=utf-8

????? username: root

? ????password: ******

????? filters: stat,wall,log4j,config

????? max-active: 100

????? initial-size: 1

????? max-wait: 60000

????? min-idle: 1

????? time-between-eviction-runs-millis: 60000

????? min-evictable-idle-time-millis: 300000

????? validation-query: select 'x'

????? test-while-idle: true

????? test-on-borrow: false

????? test-on-return: false

????? pool-prepared-statements: true

????? max-open-prepared-statements: 50

max-pool-prepared-statement-per-connection-size: 20

3、修改pom文件,引入數據庫關聯jar包

(1)打開pom.xml文件

(2)添加數據項目依賴jar包

<!-- mysql -->

? <dependency>

???? ??? <groupId>mysql</groupId>

???? ??? <artifactId>mysql-connector-java</artifactId>

???? </dependency>

???? <!-- druid -->

??? <dependency>

??? ?? <groupId>com.alibaba</groupId>

??? ?? <artifactId>druid-spring-boot-starter</artifactId>

??? ?? <version>1.1.10</version>

??? </dependency>

??????? <!-- log4j -->

??? <dependency>

??? ??? <groupId>log4j</groupId>

??? ??? <artifactId>log4j</artifactId>

??? ??? <version>1.2.17</version>

??? </dependency>???????? ??? ??? ??? ??? ????

???? <dependency>

????????? <groupId>org.apache.commons</groupId>

????????? <artifactId>commons-lang3</artifactId>

????????? <version>3.8.1</version>

??</dependency>

<!-- 這是mybatis-plus依賴 -->

??????? <dependency>

??????????? <groupId>com.baomidou</groupId>

??????????? <artifactId>mybatis-plus-boot-starter</artifactId>

??????????? <version>3.1.1</version>

??????? </dependency>

???? <!-- 這是mybatis-plus的代碼自動生成器 -->

??????? <dependency>

??????????? <groupId>com.baomidou</groupId>

??????????? <artifactId>mybatis-plus-generator</artifactId>

??????????? <version>3.1.1</version>

??????? </dependency>

4、項目文件增加配置文件

(1)DiruidConfig.java

(2)DruidDataSourceProperties.java

(3)MybatisConfig.java (涉及dao路徑修改)

備注:聯系作者獲取配置文件

5、創建項目目錄

1)右鍵點擊“src/main/java”目錄,彈出菜單中選擇“new”à”package”,分別輸入名稱,點擊“finish”按鈕

(1)com.SJL.Mango.Dao.entity

(2)com.SJL.Mango.Dao.mapper

(3)com.SJL. Mango.Dao.service

(4)com.SJL.Mango.Dao.controller

2)右鍵點擊“src/main/resources”目錄,彈出菜單中選擇“new”à”Folder”,分別輸入名稱“mapper”,點擊“finish”按鈕,項目目錄如下圖所示

6、利用“JAVA代碼自動生成工具” 生成mapperxml文件)、Dao文件(entitymapperserviceserviceImplcontroller)文件

(1)關注作者,聯系獲取“JAVA代碼自動生成工具”,或者在CSDN搜索下載“JAVA代碼自動生成工具”

(2)運行“JAVA代碼自動生成工具” UserInput,

方式:以管理者模式打開cmd,切換到工作所在目錄,輸入命令“java -Dfile.encoding=utf-8 -jar UserInput.jar”回車,根據提示輸入,截圖如下

當前目錄下,查找文件夾“123”,將對應文件拷貝到項目對應路徑

生成文件截圖如下所示:

注意:文件拷貝之后,檢查文件是否報錯,主要分體可以分三類:(1)未引入jar包 (2)文件路徑大小寫 (3)多引入的import語句等(需要注釋掉)

7、配置springboot啟動函數

打開ActionApp.java文件,修改文件內容,修改后如下:

@SpringBootApplication(scanBasePackages= {"com.SJL"})

@ComponentScan(basePackages= {"com.SJL"})

@MapperScan("com.SJL.Mango.Dao.mapper")

@ServletComponentScan(basePackages= {"com.SJL"})

public class ActionApp extends SpringBootServletInitializer {

??? public static void main(String[] args) {

??????? SpringApplication.run(ActionApp.class, args);

??? }

}

8、利用Swagger-ui查看服務

打開瀏覽器,地址欄輸入“http://localhost:2885/swagger-ui.html”

到此,數據庫建設和項目數據源配置,已經完成,通過swagger-ui界面,即可查看搭建的服務控制器,如上圖所示。

下文講解如果通過swagger-ui測試服務控制器,實現數據庫數據的訪問。

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

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

相關文章

vue基礎知識四:Vue實例掛載的過程

一、思考 我們都聽過知其然知其所以然這句話 那么不知道大家是否思考過new Vue()這個過程中究竟做了些什么&#xff1f; 過程中是如何完成數據的綁定&#xff0c;又是如何將數據渲染到視圖的等等 一、分析 首先找到vue的構造函數 源碼位置&#xff1a;src\core\instance\…

一生一芯4——使用星火應用商店在ubuntu下載QQ、微信、百度網盤

星火應用商店可以非常方便的完成一些應用的下載&#xff0c;下面是官方網址 http://spark-app.store/download 我使用的是intel處理器&#xff0c;無需下載依賴項&#xff0c;直接點擊軟件本體 我這里下載amd64,根據自己的處理器下載對應版本 sudo apt install ./spark-stor…

做視頻_Style

Video 1> 風格2> 技巧3> 借鑒 &#x1f517; B站視頻 1> 風格 記錄分享生活&#xff0c;工作&#xff0c;學習方面的總結&#xff1b; 4個段位&#xff1a; 實用 -> 簡潔 -> 清晰流暢 -> 生動有趣 2> 技巧 1> 大視頻分段錄制&#xff0c;最后合并…

pytorch入門-神經網絡

神經網絡的基本骨架 import torch from torch import nn #nn模塊是PyTorch中用于構建神經網絡模型的核心模塊。它提供了各種類和函數&#xff0c;可以幫助你定義和訓練神經網絡。class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__() #調用 super(Tudui,…

數據結構入門指南:二叉樹

目錄 文章目錄 前言 1. 樹的概念及結構 1.1 樹的概念 1.2 樹的基礎概念 1.3 樹的表示 1.4 樹的應用 2. 二叉樹 2.1 二叉樹的概念 2.2 二叉樹的遍歷 前言 在計算機科學中&#xff0c;數據結構是解決問題的關鍵。而二叉樹作為最基本、最常用的數據結構之一&#xff0c;不僅在算法…

java對大文件分片上傳

這里記錄一下&#xff0c;Java對大文件的切分&#xff0c;和后端接口分片上傳的實現邏輯 正常&#xff0c;前后端分離的項目其實是前端去切分文件&#xff0c;后端接口接收到切分后的分片文件去合并&#xff0c;這里都用java來記錄一下。特別說明&#xff1a;我這里用的是zip包…

vue+java實現在線播放mp4視頻

java: 讀取本地視頻文件的流然后給response的輸出流 File file new File("/Users/zhangqingtian/Documents/水庫/Floodforecast/static/" videoName);BufferedInputStream inputStream new BufferedInputStream(new FileInputStream(file));response.setContentT…

ReactDOM模塊react-dom/client沒有默認導出報錯解決辦法

import ReactDOM 模塊“"E:/Dpandata/Shbank/rt-pro/node_modules/.pnpm/registry.npmmirror.comtypesreact-dom18.2.7/node_modules/types/react-dom/client"”沒有默認導出。 解決辦法 只需要在tsconfig.json里面添加配置 "esModuleInterop": true 即…

【C++】queue容器

1.queue容器基本概念 2.queue常用接口 #include <iostream> using namespace std;//隊列queue #include<queue>//創建Person類 class Person { public:Person(string name, int age){this->m_Name name;this->m_Age age;}string m_Name; //姓名int m_Age; …

mysql創建新用戶并授權

目錄 前言登錄到mysql創建用戶用戶授權更改用戶密碼參考 前言 略 登錄到mysql shell> mysql -h127.0.0.1 -P3306 -uroot -p******創建用戶 mysql> CREATE USER abc% IDENTIFIED BY 123456;用戶授權 mysql> GRANT all privileges ON ruoyi.* TO abc%;用戶ruoyi擁有…

優維低代碼實踐:自定義模板

優維低代碼技術專欄&#xff0c;是一個全新的、技術為主的專欄&#xff0c;由優維技術委員會成員執筆&#xff0c;基于優維7年低代碼技術研發及運維成果&#xff0c;主要介紹低代碼相關的技術原理及架構邏輯&#xff0c;目的是給廣大運維人提供一個技術交流與學習的平臺。 優維…

禾賽科技Q2營收交付雙新高,國產激光雷達從量變到質變

隨著2022年激光雷達元年、2023年城市智能輔助駕駛&#xff08;NOA&#xff09;元年相繼到來&#xff0c;激光雷達產業迎來爆發期。 今年以來&#xff0c;自動駕駛公司、汽車制造商以及移動出行公司等各路人馬積極推動城市級別的智能輔助駕駛全面落地&#xff0c;北京、上海、深…

通過css設置filter 屬性,使整個頁面呈現灰度效果,讓整個網頁變灰

通過css設置filter 屬性設置頁面整體置灰 效果圖: 通過設置 filter 屬性為 grayscale(100%)&#xff0c;頁面中的所有元素都會被應用灰色濾鏡效果&#xff0c;使整個頁面呈現灰度效果。 <style type"text/css"> html { filter: grayscale(100%); -webkit-f…

git pull 某一個文件或文件夾

QQ: 2967732156 背景&#xff1a; 在使用Oracle VM VirtualBox&#xff0c;進行Linux開發時&#xff0c;隨著使用內存越來越少&#xff0c;空間已不足拉取整個代碼庫。 Ubuntu1604內存夠&#xff0c;Ubuntu18.04內存不夠。 思路&#xff1a; 第一步&#xff1a;從問題本身…

TB/TM-商品詳情原數據(APP)

一、接口參數說明&#xff1a; item_get_app-獲得TB/TMapp商品詳情原數據&#xff0c;點擊更多API調試&#xff0c;請移步注冊API賬號點擊獲取測試key和secret 公共參數 請求地址: https://api-gw.onebound.cn/taobao/item_get_app 名稱類型必須描述keyString是調用key&…

考研 408 | 【計算機網絡】 應用層

導圖 網絡應用模型 客戶/服務器&#xff08;c/s&#xff09;模型 P2P模型 DNS 域名 域名服務器 域名解析過程 文件傳輸協議FTP FTP服務器和用戶端 FTP工作原理 電子郵件 電子郵件的信息格式 組成結構 郵件服務器的功能&#xff1a; 1.發送&接收郵件 2.給發件人報告郵…

使用windows Api簡單驗證ISO9660文件格式,以及裝載和卸載鏡像文件

使用IIsoImageManager接口簡單驗證ISO鏡像文件正確性,使用AttachVirtualDisk裝載ISO鏡像文件,和使用DetachVirtualDisk卸載,(只支持windows 8及以上系統) 導讀 IIsoImageManager 驗證ISO文件正確性AttachVirtualDisk 裝載鏡像文件DetachVirtualDisk 卸載鏡像文件其他相關函…

《游戲編程模式》學習筆記(四) 觀察者模式 Observer Pattern

定義 觀察者模式定義了對象間的一種一對多的依賴關系&#xff0c;當一個對象的狀態發生改變時&#xff0c;所有依賴于它的對象都得到通知并被自動更新。 這是定義&#xff0c;看不懂就看不懂吧&#xff0c;我接下來舉個例子慢慢說 為什么我們需要觀察者模式 我們看一個很簡…

PAT (Advanced Level) 甲級 1004 Counting Leaves

點此查看所有題目集 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Specification: Each input file contains one test case. Each case starts with a line containing 0<N<100, …

如何在iPhone手機上修改手機定位和模擬導航?

如何在iPhone手機上修改手機定位和模擬導航&#xff1f; English Location Simulator&#xff08;定位模擬工具&#xff09; 是一款功能強大的 macOS 應用&#xff0c;專為 iPhone 用戶設計&#xff0c;旨在修改手機定位并提供逼真的模擬導航體驗。無論是為了保護隱私、測試位…