【项目搭建二】SpringBoot引入druid、mybatis、mybatisPlus

news/2024/11/28 6:36:28/

引入druid

添加依赖

pom.xml中增加以下依赖:

<!-- Mysql驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.31</version>
</dependency>
<!-- druid -->
<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.9</version>
</dependency>

拓展:一般来说,较新版本的 mysql-connector-java 与较新版本的 MySQL 数据库兼容。例如,如果你使用的是 MySQL 8.0,你应该使用 mysql-connector-java 的 8.0 版本或更高版本。

application.yml配置

application.yml增加以下配置:

spring:datasource:# MySQL 5.x 或更早版本,使用 com.mysql.jdbc.Driverdriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/aged?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghaiusername: rootpassword: gusy1234druid:initial-size: 5min-idle: 5max-active: 20test-on-borrow: truevalidation-query: SELECT '*' FROM DUALfilters: stat,wall,slf4j

拓展:官方文档:druid内置Filter的别名 · alibaba/druid Wiki · GitHub

 配置密码加密

 进入druid jar包所在目录,控制台执行下面代码,以获取公钥和加密后的密码

# 版本改成自己下载的版本
java -cp druid-1.2.9.jar com.alibaba.druid.filter.config.ConfigTools gusy1234

执行结果:

privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAi+4eW3wFcgsBfRrkJteLNfF2xhIytFyXJSb8BkxCyjmavXJYpfkJNRjYqjfLUdaROhYRD1Aqk4N2sklzd6jgXQIDAQABAkAMAgso3qO4/ajLC5u4mZagsm/232jqgWeXEJlgEPtKTzZDGqerWc15GqP+UFa2YeR8iAk3UCbVzcV3nEMht8ghAiEA3y2cjjlrA0U8hxMOb6OAmpkHGl0K1P9HcxMmvAN96u8CIQCgglHXQpwwC+UwxfCvfpqoaGil4kbgDOx60aybJEkZcwIhAKIcC3/zjRvPCuxCl1XYOe4SAerQcrHMzCV2X8hp8OjZAiA8TNlMQoUE8+MVsLdcZvbZX+g4scqor5JEDfOHkVk5CwIhANZe9QIwkPaac3lCoHolOxfG7j8jY4dZjcMwFkxeUqYI
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIvuHlt8BXILAX0a5CbXizXxdsYSMrRclyUm/AZMQso5mr1yWKX5CTUY2Ko3y1HWkToWEQ9QKpODdrJJc3eo4F0CAwEAAQ==
password:Th1qqa5DXqDh6dUXtEnFoIRr+j0EsEab74NbbCzQdv46Gy8bVRdK5Mwy1OQeJVeUSr3URTBG5pZ9bAyy02gOLQ==

application.yml文件中增加及修改相关配置:

spring:datasource:# 修改,数据库密码为加密后密码password: Th1qqa5DXqDh6dUXtEnFoIRr+j0EsEab74NbbCzQdv46Gy8bVRdK5Mwy1OQeJVeUSr3URTBG5pZ9bAyy02gOLQ==druid:# 新增, 配置 connection-properties,启用加密,配置公钥。connection-properties: config.decrypt=true;config.decrypt.key=${publickey}# 修改,filters中加入 configfilters: config,stat,wall,slf4jfilter:# 新增,启动ConfigFilterconfig:# 启动ConfigFilterenabled: true
# 新增,值为生成的公钥
publickey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIvuHlt8BXILAX0a5CbXizXxdsYSMrRclyUm/AZMQso5mr1yWKX5CTUY2Ko3y1HWkToWEQ9QKpODdrJJc3eo4F0CAwEAAQ==

拓展:官方文档:如何在Spring Boot中配置数据库密码加密? · alibaba/druid Wiki · GitHub

引入mybatis、mybatisPlus

添加依赖

pom.xml中增加以下依赖:

<!-- mybatis -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version>
</dependency>
<!-- mybatis-plus -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.0</version>
</dependency>

application.yml配置

application.yml文件加入以下配置:

mybatis:mapper-locations: classpath:mapper/*.xml

启动类配置

SpringApplication.java中加入@MapperScan注解:

@SpringBootApplication
@MapperScan({"com.gusy.**.dao", "com.gusy.**.mapper"})
public class SpringApplication {public static void main(String[] args) {SpringApplication.run(SpringApplication.class, args);}
}

拓展:mybatisPlus官方文档


http://www.ppmy.cn/news/1324942.html

相关文章

微信小程序(六)tabBar的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1. 标签栏文字的内容以及默认与选中颜色 2. 标签栏图标的默认样式与选中样式 3. 标签选项路径页面 4.标签栏背景颜色 &#x1f43c;&#xff08;文末补充&#xff09;设置标签栏后为什么navigator标签无法跳转页…

vue中改变v-html中包含body标签的样式修改方法

vue-改变body的css样式 beforeCreate() {document.querySelector(body).setAttribute(style, background-color:#f4f4f4; color:#666666;)}, beforeDestroy() {document.body.removeAttribute(style)},在方法里加这个 document.querySelector(body).setAttribute(style, backg…

vue2踩坑之项目:vue2+element实现前端导出

1.安装插件依赖 npm i --save xlsx0.17.0 file-saver2.0.5 2.单页面引入 前端导出插件 import FileSaver from "file-saver"; import * as XLSX from "xlsx"; //html <el-form-item><el-button type"primary" plain size"mini&quo…

如何发挥 Sketch在UI和UX设计中的作用

Sketch是一款专业的矢量图形设计软件&#xff0c;主要应用于UI设计、移动应用设计、Web设计等领域。假如你是一个交互设计师或UI设计师&#xff0c;那么你一定知道Sketch这一强大的矢量设计软件&#xff1b;如果你使用了Photoshop&#xff0c;那么在你接触到Sketch之后&#xf…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机NEOAPI SDK和短曝光功能的技术背景Baumer工业相机通过NEOAPI SDK使用短曝光功能1.引用合适的类文件2.通过NEOAPI SDK使用短曝光功能3.通过NEOAPI SDK关闭短…

小程序中使用上传图片,显示、删除、预览

一、功能介绍 需要哦用户点击加号上传图片&#xff0c;并展示所上传图片和能够删除和预览 二、功能实现 采用的uniapp&#xff0c;创建了一个view容器包裹加号图标和展示的图片。 内部展示图片超过9张时候&#xff0c;加号图片隐藏 <view class"img-list">/…

小程序中使用微信同声传译插件实现语音识别、语音合成、文本翻译功能----语音识别(一)

官方文档链接&#xff1a;https://mp.weixin.qq.com/wxopen/plugindevdoc?appidwx069ba97219f66d99&token370941954&langzh_CN#- 要使用插件需要先在小程序管理后台的设置->第三方设置->插件管理中添加插件&#xff0c;目前该插件仅认证后的小程序。 语音识别…

【QT】QThread 成员函数

Public Functions void QThread::exit(int returnCode 0) 告诉线程的事件循环需要退出&#xff0c;并且返回code 调用此函数后&#xff0c;线程离开事件循环并从对 QEventLoop::exec() 的调用返回。 QEventLoop::exec() 函数返回 returnCode&#xff0c;returnCode 为 0 表示…