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.mzph.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;旨在修改手机定位并提供逼真的模拟导航体验。无论是为了保护隐私、测试位…