JavaMybatis获取自增Id
前言:使用MySQL和Mybatis进行数据新增操作时,通常需要获取刚刚插入数据的ID(主键)。这主要用于关联操作或者是需要立即使用这个新生成的ID的场景
使用useGeneratedKeys和keyProperty这是获取新插入记录ID的常用方法。在Mybatis的mapper文件中进行SQL映射时,可以通过在<insert>标签中添加useGeneratedKeys="true"和keyProperty="id"(假设你的主键属性名为id)来实现。这会使Mybatis利用JDBC的getGeneratedKeys方法来获取数据库自动生成的主键。
123<insert id="insertUser" useGeneratedKeys="true" keyProperty="id"> INSERT INTO user (name, email) VALUES (#{name}, #{email})</insert&g ...
Ngnix配置Server相关问题
前言:记录nginx配置时出现的问题及解决方法
禁止重定向访问的nginx配置为/api/ 后端接口时,还有一个是访问到主页 ,如果我们通过浏览器发送get请求 /api/***时,请求接口找不到后,他在第一个找不到的时候会按顺序找下面的,按下方的写法,这样他会跳转至首页页面,但是我们需要让他返回/api/对应的接口值
未修改前的配置
12345678910111213# HTTPS server#server { #小程序接口 location /api/ { rewrite ^/api/(.*) /$1 break; proxy_pass http://ip:端口/; } #主页 location / { proxy_pass http://ip:端口/home/; }}
修改之后的配置,在对应的转发里添加proxy_redirect off;
1234567891011121314 ...
JavaSpringBoot解决跨域问题
前言:当服务器前端项目请求该服务器后端接口时,可能会遇见跨域问题,需配置解决,常见的有Nginx配置,后端项目中配置,这块使用后端项目配置
创建名为HeaderFilter的Class文件并将以下代码粘贴进其中
12345678910111213141516171819202122232425262728293031323334353637383940import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Component;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@Slf4j@Component@WebFilter(urlPatterns = { "/*" }, filterName = "headerFilter&q ...
Roop实现AI换脸Windows安装流程
前言:安装项目的基础环境时需开启魔法,国内网速感人,当安装好项目后,可以本地自行实现换脸图片或者视频,不会给任何第三方发送你做的内容
项目地址:https://github.com/s0md3v/roop
运行环境Python官方网址:https://www.python.org/downloads/
推荐使用版本3.10或大于3.10版本
FFmpeg官方网址:https://ffmpeg.org/download.html#build-windows
选择Windows builds from gyan.dev,打开下图页面
选择ffmpeg-git-essentials.7z 注:下载起来较慢,耐心等待
当下载完成后解压至本地专门存放软件的目录,配置对应的环境变量,
系统变量 path对应的路径下面新增软件解压的目录如C:\ffmpeg\bin
git官方网址:https://git-scm.com/
主要是用来拉取roop项目的,后期项目更新了可以直接拉取,也可以直接从github下载项目
VisualStudio2022官方网址:https://visualstu ...
JavaSpringBoot添加多数据源
前言:在工作中,某些情况下需要同时对多个数据库进行更改操作。
pom.xml文件添加maven12345<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.3.5</version></dependency>
yml文件添加多个数据库信息12345678910111213141516spring: datasource: dynamic: primary: master #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: master: url: jdbc:m ...
天气预报第三方免费Api
前言:天气预报第三方免费Api整理
高德官方文档:https://lbs.amap.com/api/webservice/guide/api/weatherinfo
功能:
实时天气
未来四天的天气预报
优点是个人认证用户有每日30万的使用额度
百度官方文档:https://lbs.baidu.com/faq/api?title=webapi/weather/base
功能:
未来24小时逐小时预报
未来五天的天气预报
和风天气官方文档:https://dev.qweather.com/docs/api/weather/weather-hourly-forecast/
功能:
未来24小时逐小时预报
未来五天的天气预报
和风天气的Web API默认采用Gzip进行压缩,这将极大的减少网络流量,加快请求,同时也是需要我们处理一下的。
注意:支持24小时天气预报,但他的24小时不包含当前时间,可以从高德天气预报获取实时天气预报,两者拼接起来,并移除和风天气返回的最后一位,保持24小时
天气网网址:http://tqw9.com/
接口地址:http://tqw ...
Eclipse控制台日志,控制台输出日志被覆盖,无法查看全部日志
前言: 在控制台输出大量日志的时候,默认会把之前的输出内容覆盖掉,无法查询全部日志信息,对排查问题来说有影响
1.顶部选择 Window-> Preferences
2.选择Run/Debug->Console
3.取消勾选Limit console output
JavaSpringBoot关闭线上Swagger
前言: 正常线上接口文档是不开启的,以防被人盗刷接口,影响正常人员的使用
swaggerConfigswaggerConfig添加 ConditionalOnProperty注解
1234@Configuration@EnableSwagger2@ConditionalOnProperty(name ="enabled" ,prefix = "swagger",havingValue = "true",matchIfMissing = true)public class SwaggerConfig {
ymlapplication.yml 在每个开发环境配置对应的swagger是否可以使用
dev开发环境
12swagger: enabled: true
test测试环境
12swagger: enabled: true
prod生产环境
12swagger: enabled: false
在需要部署正式版本时,把yml对应的版本环境切换至生产环境时,将无法打开swagger-ui.html 和 ...
LiunxNginx配置SSL证书
前言:Nginx是作为运维项目的常用工具,能做的功能很多,其中配置SSL只是其中一项
申请证书在云服务商申请SSL证书 像我们申请的免费证书一般都是一年有效期,到了时间,提前更换
下载SSL证书选择nginx点击下载
配置证书将下载好的证书解除压缩后上传至服务器,这块上传的位置是放在了nginx下面创建了ssl目录 存放进去
1cd /data/program/nginx-1.22.0/
1mkdir ssl
把解压好的证书上传至ssl文件夹
1cd /data/program/nginx-1.22.0/conf
找到nginx.conf文件下载下来,打开nginx.conf文件给需要配置证书对应的server添加ssl信息
12345678910111213141516server { # SSL 默认访问端口号为 443 listen 443 ssl; # 请填写绑定证书的域名 server_name demo.com; # 请填写证书文件的相对路径或绝对路径 ssl_certificate /data ...
Liunx安装JavaJdk
前言:本次安装使用的版本是jdk-8u261-linux-x64.tar.gz
常见的Liunx安装jdk分两种,openJdk和oracleJdk
两个的区别是openjdk是精简版的jdk 安装较方便,但在有些情况下没有oracleJdk好用
其中oracelJdk的获取难度相比openJdk大,需要在Orcale官网上注册,才能下载
这里使用的是oracelJdk
前置准备阿里云ESC服务器初始化是没有data目录的
进入底层目录
1cd /
创建文件夹
1mkdir data
创建安装包文件夹
1mkdir /data/software
创建程序文件夹
1mkdir /data/program
之后的其他软件尽量放这里,方便管理
上传安装包1cd /data/software
进入 安装包目录
把jdk安装文件上传至这里
解压安装包1tar -zxf jdk-8u261-linux-x64.tar.gz -C /data/program/
配置环境变量1vi /etc/profile
按i进入编辑模式,在文件尾部添加如下内容
12345export ...