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.hqwc.cn/news/68194.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】代理模式

在代理模式&#xff08;Proxy Pattern&#xff09;中&#xff0c;一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中&#xff0c;我们创建具有现有对象的对象&#xff0c;以便向外界提供功能接口。 介绍 意图&#xff1a;为其他对象提供一种代理以…

BC117 小乐乐走台阶(附完整代码)

描述 小乐乐上课需要走n阶台阶&#xff0c;因为他腿比较长&#xff0c;所以每次可以选择走一阶或者走两阶&#xff0c;那么他一共有多少种走法&#xff1f; 输入描述 输入包含一个整数n (1 ≤ n ≤ 30) 输出描述 输出一个整数&#xff0c;即小乐乐可以走的方法数。 思路&a…

【深度学习】日常笔记16

可以将pd.DataFrame数据结构理解为类似于Excel中的表格。pd.DataFrame是pandas库提供的一个二维数据结构&#xff0c;用于存储和操作具有行和列的数据。它类似于Excel中的工作表&#xff0c;其中每一列可以是不同的数据类型&#xff08;例如整数、浮点数、字符串等&#xff09;…

css 利用 linear-gradient 实现条纹背景

1. 水平条纹背景 当给背景设置渐变效果时&#xff0c;默认的渐变方向是垂直由上到下的&#xff0c;效果如下&#xff1a; {background: linear-gradient(#aaa, #ddd);} 尝试拉近色标的距离&#xff0c;会发现渐变区域变小了&#xff1a; {background: linear-gradient(#aaa 40…

【LeetCode】543.二叉树的直径

题目 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,4,5]…

Labview控制APx(Audio Precision)进行测试测量(六)

用 LabVIEW 驱动 VIs生成任意波形 在 APx500 应用程序中&#xff0c;默认波形类型为正弦。这是指 APx 内置的正弦发生器&#xff0c;根据信号路径设置&#xff0c;许多测量还允许其他内置波形&#xff0c;如方波&#xff0c;分裂正弦波或分裂相位&#xff0c;以及使用导入的。w…

DDIM: DENOISING DIFFUSION IMPLICIT MODELS

DDIM: DENOISING DIFFUSION IMPLICIT MODELS 去噪扩散隐式模型DDIM预测噪声生成过程 实验 论文题目&#xff1a;Denoising Diffusion Implicit Models (DDIM) 论文来源&#xff1a;ICLR 2021 论文地址&#xff1a;https://arxiv.org/pdf/2010.02502.pdf 论文代码&#xff1a;ht…

计算机网络-物理层(二)- 传输方式

计算机网络-物理层&#xff08;二&#xff09;- 传输方式 串型传输与并行传输 串行传输:是指数据是一个比特一个比特依次发送的&#xff0c;因此在发送端和接收端之间&#xff0c;只需要一条数据传输线路即可 并行传输:是指一次发送n个比特而不是一个比特&#xff0c;因此发送…

抓包分析 TCP 协议

TCP 协议是在传输层中&#xff0c;一种面向连接的、可靠的、基于字节流的传输层通信协议。 环境准备 对接口测试工具进行分类&#xff0c;可以如下几类&#xff1a; 网络嗅探工具&#xff1a;tcpdump&#xff0c;wireshark 代理工具&#xff1a;fiddler&#xff0c;charles&…

19.正则表达式

19.1什么是正则表达式 ●正则表达式( Regular Expression) 是用于匹配字符串中字符组合的模式。在JavaScript中&#xff0c; 正则表达式也是对象 ●通常用来查找、替换那些符合正则表达式的文本&#xff0c;许多语言都支持正则表达式 ●正则表达式在JavaScript中的使用场景: …

ubuntu 20.0.4 搭建nvidia 显卡环境

一、安装docker 1、安装dokcer sudo apt install docker.io2、docker 添加到用户组 创建docker用户组 sudo groupadd docker添加当前用户加入docker用户组 sudo usermod -aG docker ${USER}重启docker服务 sudo systemctl restart docker切换或者退出当前账户再从新登入 …

【力扣每日一题】2023.8.15 字符中的查找与替换

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目很长&#xff0c;简而言之就是检查字符串中对应索引的位置是否有特定的字符串&#xff0c;如果有&#xff0c;那么替换&#xff0c;返…