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.rhkb.cn/news/91644.html

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

相关文章

R语言初学者书籍推荐

Home | Bookdown 这个网站上有很多R语言的书籍&#xff0c;并且一直在更新&#xff0c;阅读起来没有难度。 今天搜索材料的时候&#xff0c;检索到下面这本书&#xff1a; 有输入&#xff0c;才会有输出。

多线程并发服务器

代码&#xff1a; #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <unistd.h> #define PORT 6666 //1024~49151 #define IP "192.168.122.130" //ifconfig查看本机IP #include <pthread.h> //…

【数仓建设系列之一】什么是数据仓库?

一、什么是数据仓库&#xff1f; 数据仓库(Data Warehouse&#xff0c;简称DW)简单来讲&#xff0c;它是一个存储和管理大量结构化和非结构化数据的存储集合&#xff0c;它以主题为向导&#xff0c;通过整合来自不同数据源下的数据(比如各业务数据&#xff0c;日志文件数据等)…

中科亿海微浮点数转换定点数

引言 浮点数转换定点数是一种常见的数值转换技术&#xff0c;用于将浮点数表示转换为定点数表示。浮点数表示采用指数和尾数的形式&#xff0c;可以表示较大范围的数值&#xff0c;但存在精度有限的问题。而定点数表示则采用固定小数点位置的形式&#xff0c;具有固定的精度和范…

Arraylist集合

保存数据会经常使用到数组&#xff0c;但数组存在以下几个缺陷: 长度固定&#xff1b;保存的必须为同一类型的元素&#xff0c;&#xff08;基本数据类型&#xff0c;或引用数据类型&#xff09;&#xff1b;使用数组进行增加元素的步骤比较麻烦&#xff1b; 这个时候就需要用一…

人大进仓数据库ksql命令基础

测试环境信息: 系统为银河麒麟V10 数据库为Kingbase ES V8 数据库安装目录为/opt/Kingbase/ES/V8 ksql命令位于/opt/Kingbase/ES/V8/Server/bin下 使用--help获取帮助 续上图 1.查看数据库列表 ./ksql -U system -l 2.查看数据库版本 ./ksql -V 3.连接指定的数据库tes…

单芯片3路CC管理的VR转接器解决方案

VR眼镜即VR头显&#xff0c;也称虚拟现实头戴式显示设备&#xff0c;随着元宇宙概念的传播&#xff0c;VR眼镜的热度一直只增不减&#xff0c;但是头戴设备的续航一直被人诟病&#xff0c;如果增大电池就会让头显变得笨重影响体验&#xff0c;所以目前最佳的解决方案还是使用VR…

Idea的基本使用带案例---详细易懂

一.idea是什么 有专业人士说&#xff0c;idea是天生适合做微软&#xff0c;当时我还想肯定是夸大其词了&#xff0c;但当你用起来的时候确实很爽&#xff0c;&#x1f60a;&#x1f60a; ntelliJ IDEA是一种集成开发环境&#xff08;IDE&#xff09;&#xff0c;由JetBrains开发…

2023年7月京东美妆护肤品小样行业数据分析(京东数据挖掘)

如今&#xff0c;消费者更加谨慎&#xff0c;消费决策也更加理性。在这一消费环境下&#xff0c;美妆护肤市场中&#xff0c;面对动辄几百上千的化妆品&#xff0c;小样或体验装无疑能够降低消费者的试错成本。由此&#xff0c;这门生意也一直备受关注。 并且&#xff0c;小样…

汽车及汽车零部件行业云MES解决方案

汽配行业现状&#xff1a; 随着经济全球化进程加快&#xff0c;一直走在智能化改造&#xff0c;数字化转型前沿的汽车行业企业&#xff0c;面临的信息化需求也日益增加&#xff0c;不管德系&#xff0c;美系还是日系供应链的各大厂商&#xff0c;均将企业信息化&#xff0c;数字…

CSS3中的var()函数

目录 定义&#xff1a; 语法&#xff1a; 用法&#xff1a; 定义&#xff1a; var()函数是一个 CSS 函数用于插入自定义属性&#xff08;有时也被称为“CSS 变量”&#xff09;的值 语法&#xff1a; var(custom-property-name, value) 函数的第一个参数是要替换的自定义属性…

强制Edge或Chrome使用独立显卡【WIN10】

现代浏览器通常将图形密集型任务卸载到 GPU&#xff0c;以改善你的网页浏览体验&#xff0c;从而释放 CPU 资源用于其他任务。 如果你的系统有多个 GPU&#xff0c;Windows 10 可以自动决定最适合 Microsoft Edge 自动使用的 GPU&#xff0c;但这并不一定意味着最强大的 GPU。 …

开发者如何使用讯飞星火认知大模型API?

目录 1、申请星火API接口 2、使用星火API接口 3、测试编译效果 之前我们使用网页文本输入的方式体验了讯飞星火认知大模型的功能&#xff08;是什么让科大讯飞1个月股价翻倍&#xff1f;&#xff09;&#xff0c;本篇博文将从开发者角度来看看如何使用讯飞星火认知大模型API…

LC-链表的中间节点(双指针)

LC-链表的中间节点&#xff08;双指针&#xff09; 链接&#xff1a;https://leetcode.cn/problems/middle-of-the-linked-list/description/ 描述&#xff1a;给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二…

锐捷无线产品运维

目录 登录AP产品 Console登录&#xff08;只可以现场登录&#xff09; Web/Telnet/SSH登录&#xff08;可以现场、远程登录&#xff09; 配置AP的管理地址 通过Web界面远程登录 通过Telnet、SSH等命令行的方式登录 登录AC产品 Console登录&#xff08;只可以现场登录&a…

09 - 连续的多个commit整理成1个

查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;GIT常用场景- 目录 文章目录 将连续的多个commit整理成1个 将连续的多个commit整理成1个 将anranxiaohunzhang和xianglongshibazhang合并起来&#xff08;将anranxiaohunzhang合并到降龙十八掌上&#xff0c;生成新…

AI绘画 | 一文学会Midjourney绘画,创作自己的AI作品(快速入门+参数介绍)

一、生成第一个AI图片 首先&#xff0c;生成将中文描述词翻译成英文 然后在输入端输入&#xff1a;/imagine prompt:Bravely running boy in Q version, cute head portrait 最后&#xff0c;稍等一会即可输出效果 说明&#xff1a; 下面的U1、U2、U3、U4代表的第一张、第二张…

ubuntu设置共享文件夹成功后却不显示找不到(已解决)

1.首先输下面命令查看是否真的设置成功共享文件夹 vmware-hgfsclient如果确实已经设置过共享文件夹将输出window下共享文件夹名字 2.确认自己已设置共享文件夹后输入下面的命令 //如果之前没有命令包则先执行sudo apt-get install open-vm-tools sudo vmhgfs-fuse .host:/ /mn…

PyTorch从零开始实现ResNet

文章目录 代码实现参考 代码实现 本文实现 ResNet原论文 Deep Residual Learning for Image Recognition 中的50层&#xff0c;101层和152层残差连接。 代码中使用基础残差块这个概念&#xff0c;这里的基础残差块指的是上图中红色矩形圈出的内容&#xff1a;从上到下分别使用…

【博客692】grafana如何解决step动态变化时可能出现range duration小于step

grafana如何解决step动态变化时可能出现range duration小于step 1、grafana中的step和resolution grafana中的 “step” grafana本身是没有提供step参数的&#xff0c;因为仪表盘根据查询数据区间以及仪表盘线条宽度等&#xff0c;对于不同查询&#xff0c;相同的step并不能…