自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 jdbcTemplate防止注入写法

只要严格使用参数化查询(?参数绑定:通过 PreparedStatement 将参数值与 SQL 语句分离。类型安全:自动处理数据类型转换(如 Date → java.sql.Date)自动转义:JDBC 驱动会自动处理特殊字符(如单引号转义为 ‘’)白名单校验:对于排序字段等必须动态拼接的场景,使用白名单校验。这是最核心的防注入方式,所有动态参数都应该通过参数绑定传递。禁用字符串拼接:永远不要将用户输入直接拼接到 SQL 中。日志监控:启用 SQL 日志,监控异常查询模式。所幸这一期给一个改进写法。

2025-05-29 15:07:24 417

原创 接口配置(达梦建表)

【代码】接口配置(达梦建表)

2025-05-29 10:19:41 156

原创 线程de安全性备忘

问题:当其他线程在遍历过程中修改集合(增删元素),会触发 ConcurrentModificationException。关键点:通过 synchronized 块保证遍历过程的原子性,防止并发修改(如多线程同时增删元素)。关键点:通过显式锁控制线程访问,避免 synchronized 的隐式锁机制,灵活性更高。问题:遍历和修改共享资源时未同步,导致数据竞争(Data Race)和脏读。优点:底层通过数据副本实现读写分离,读操作无需加锁,适合读多写少的场景。

2025-05-27 11:06:10 238

原创 关于queryWrapper的使用记录

【代码】关于queryWrapper的使用记录。

2025-05-26 09:39:58 100

原创 拼接条件查询(达梦)

【代码】拼接条件查询。

2025-05-20 11:46:44 124

原创 sqlserver连接报错问题

The server selected protocol version TLS10 is not accepted by client prefere

2025-05-10 11:14:04 116

原创 设计一个食品种类表

路径字段辅助:path字段存储层级路径(如"1.3.5"),可通过LIKE快速查询子树(如查询所有面食子类:WHERE path LIKE ‘1.%’)需求:设计一个食品种类表,注意食品种类有多层,比如面食下面,面条、方便面,面条下有干面、湿面等。冗余层级字段:level字段避免递归计算层级深度,提升统计效率(如统计所有三级分类数量)一、食品种类表结构设计(food_category)

2025-04-27 17:47:50 259

原创 汽车产业链主表及类别表设计

一、汽车产业链类别表(industry_chain_category)1、核心字段:定义产业链分类(如零部件、整车制造、销售服务等)1、业务字段:包含企业名称、统一社会信用代码等核心信息。2、关联关系:通过category_id外键关联分类表。二、汽车产业链主表(industry_chain)3、业务扩展:预留层级字段支持多级分类。2、主键约束:自增ID作为唯一标识符。3、数据约束:唯一索引防止重复数据。

2025-04-27 11:02:46 403

原创 宝塔部署前后端笔记留痕

1、宝塔安装jdk2、宝塔前后端部署。

2025-04-18 09:07:15 238

原创 信用医疗中患者账单设计

3)技术实现:需对接医保系统、医院HIS系统及金融机构接口,确保数据实时交互(如广州市的“四端一体”模式整合医保、医院、银联和银行系统 )1)系统根据患者信用评级(基于政务大数据或银行授信)自动垫付自费部分(如深圳南山区的“银行垫付、国企担保”模式,不占用个人征信额度 )。2)医保部分通过接口实时结算,自费部分由信用额度垫付,生成待还款账单(如北京市的医保实时结算与银行垫付模式)1)信用评估系统:整合政务、医疗、金融数据构建用户画像(如苏州市通过大数据平台完成患者信用建模 )。

2025-04-15 10:44:51 866

原创 宝塔Mysql远程连接记录

前提是已经建库建表建用户,后续终端操作如下。添加允许远程操作配置后退出。修改my.cnf配置。

2025-04-12 14:04:57 121

原创 【jv实现区块链交易存证记录】

为了实现这一点,我需要一个方法来验证每个区块的哈希值是否正确,以及每个区块的前一个哈希值是否与前一个区块的哈希值匹配。每个交易的输入应该指向一个未被花费的输出,而输出则表示交易的接收方和金额。哈希值的计算需要使用加密算法,我决定采用SHA-256算法,因为它是区块链中常用的加密算法,能够保证数据的完整性和安全性。此外,还需要验证交易的数字签名是否有效,以确保交易是由合法的发送方发起的。1、如何在Java中构建区块链的基本结构,包括区块的创建、交易的处理和验证等。该文章仅供自己后期项目参考。

2025-03-31 15:40:23 360

原创 一次生产问题排查记录

原因控制器在第二次发送数据时,参数里面有特色符号。导致服务报错,500.由于DTU提供了访问地址,PLC控制器扫码两次,第二次就有问题。控制器调试一下,再次测试。

2025-03-06 10:05:13 140

原创 数据分组清洗(划水文)

1、定义学生数据结构2、生成或获取学生数据3、按性别分组4、对每个分组计算总成绩并分类统计5、输出结果。

2025-03-05 15:06:50 186

原创 加密当前时间并创建表

1、获取当前时间戳。2、使用MD5加密时间戳生成ID。3、拼接表名t_key_id。4、使用JDBC执行CREATE TABLE语句。

2025-03-04 16:57:43 286 1

原创 Java8简单工具类

有很多的封装http请求,如httpok、hutool等等,接下来只写基本的get、post请求。

2025-02-26 14:37:32 208

原创 域名备案留痕

参考地址。

2025-02-25 15:21:30 276

原创 随机取最值并排序算法

无聊自己出一些算法题,方便日后工作使用。

2025-02-24 11:42:42 167

原创 工具类留痕记录2

3、递归或迭代遍历:从当前节点开始,向上查找所有父级节点,向下查找所有子级节点。idToRegionMap:通过区域ID快速找到对应的Region对象。parentIdToChildMap:通过父级ID快速找到所有子区域。2、分组数据:创建一个父级ID到子级列表的映射,便于快速查找和遍历。1、构建数据结构:将区域数据存储在一个列表或集合中。

2025-02-22 15:05:00 246

原创 按年级、班级分组取出总分最高

假设我们有一个小学的学生成绩数据,需要找出每个年级每个班总成绩最高的学生,并将这些学生存入一个集合中。

2025-02-22 14:33:50 152

原创 递归找100以内的奇数和偶数存放在集合

递归应该用来遍历数字,从1到100。每次调用递归函数时,处理当前的数字,判断奇偶性,然后分别添加到对应的列表里。

2025-02-20 13:40:46 183

原创 字母去重与排序算法实现

去重处理:使用TreeSet集合来存储字符,利用其自动去重和排序的特性。遍历字符:将输入字符串中的每个字符添加到TreeSet中,重复的字符会被自动去除。生成结果:将TreeSet中的字符按顺序拼接成字符串输出。TreeSet确保元素唯一并按自然顺序(ASCII顺序)排列,适用于区分大小写的情况。如果希望不区分大小写,可在添加字符前统一转换为小写或大写。一、(此方法默认大小写一致)二、加上大小写处理方式。

2025-02-20 10:40:53 177

原创 从00000开始取一个数就加一

维护一个整数变量,初始为0,每次加1。当这个整数超过99999时,取模运算,比如n % 100000,这样得到的数值会循环到0到99999之间。然后将这个数值转换为五位数的字符串,不足五位的前面补0。例如,当数值是5的时候,转换成"00005",当数值是123的时候,转换成"00123",当数值是0的时候是"00000"。当数值是100000的时候,取模得到0,转换成"00000"。

2025-02-19 16:48:48 238

原创 丝滑去除字符串前后为0的算法

一二三四五

2025-02-14 14:22:00 323

原创 springboot打成jar后导出ftl模板读取问题

此方法读取resource下的templates中的模板文件,在yml中配置以下路径信息。在运行jar包使用 -Dfile.encoding=UTF-8 xxxx。设置1中encoding为utf-8。1、使用以下方法读取模板文件。2、导出之后中文乱码。

2025-01-17 11:21:47 102

原创 重生之西行路 —— 阶段一

内容记录包含掌握HTML5页面结构搭建A、掌握移动端网页制作和布局学习阶段完成情况。掌握PC网页制作和布局、

2024-10-26 20:31:10 259 3

原创 App排他登录设计

1、数据表 single_session 以session_id 为主键, 这个主键是 userid + user name + user login time 的 md5值算出来的。每次用户登陆的时候就会向single_session表里插入一条,同时以userid、username为条件查询旧的session记录并且删除他。所以当页面判断当前用户是否有效时,是通过前端uni.getStorageSync里面保存在session_id值和数据库里取出来的session_id进行比较。

2024-10-20 20:47:58 199

原创 ng返回400

而对于Nginx server来说,也遵循这样的方式,说明client发送了一个无效的请求,Nginx server无法处理,于是返回了400的状态码。本次故障中,客户端的调用方式没有使用host 参数,传递了空的Host头给服务端,一旦Nginx设置了proxy_set_header Host $http_host,空Host头就传给了后端。然而,在http 1.1的规范中,Host只要出现空,就会返回400,所以出现了这个故障。没有问题,但是使用设备测试一直返回400,记录一下排查过程。

2024-10-15 10:16:13 733 1

原创 数据处理短记录

三、mysql存在更新或新增。1、Mapper接口。1、Mapper写法。

2024-09-26 16:40:19 166 1

原创 【本地文件至git】

【代码】【本地文件至git】

2024-09-15 17:59:06 129

原创 数据清洗部分方式

WITH 子句:定义了一个名为 SubjectCounts 的公共表表达式(CTE),用于计算每个班级中各个科目成绩在 90 分以上的个数以及总的学生人数。COUNT(*) FILTER (WHERE subject = ‘English’ AND score >= 90):统计英语成绩在 90 分以上的个数。) FILTER (WHERE subject = ‘Chinese’ AND score >= 90):统计语文成绩在 90 分以上的个数。class_id:班级 ID。

2024-09-12 19:57:40 371 3

原创 工具类留痕记录

【代码】工具类留痕记录。

2024-09-08 19:01:02 127

原创 【获取字符串直接比对的覆盖率】

【代码】【获取字符串直接比对的覆盖率】

2024-09-06 15:30:32 186

原创 spring-boot-maven-plugin未指定版本

maven在编译打包过程中没有指定spring-boot-maven-plugin的版本,默认会从nexus仓库中拉取最新的打包插件版本,而最新的3.0.0版本不被jdk8支持,无法执行编译。需要用户在pom.xml文件中手动指定spring-boot-maven-plugin该插件的打包版本。比如: 加上版本2.2.6.RELEASE。

2024-08-09 14:08:01 499

原创 关于购买阿里云win10云服务器

备注,随手记录

2024-08-08 21:36:44 562

原创 Linux发布、查看日志记录

nohup” 是 “No Hang UP” 的缩写,意思是即使关闭会话,程序也会继续运行。“java -jar” 是运行jar包的命令,后面跟着的是你要运行的jar包的文件名。进入文件所在目录使用命令 nohup java -jar xxx &意思的建立一个临时的 ohup.out 文件来存储咱的日志信息。这是一个在Linux系统中后台运行jar包的命令。“&” 表示将程序放到后台运行。// 进入user目录。// 创建多级存放目录。直接空格,然后回车继续。运行成功,文章结束!

2024-06-27 17:11:17 1024 6

原创 Linux使用yum安装mysql包记录

可能是帐号不允许远程登陆,只能在localhost(127.0.0.1)登录。9、修改配置文件my.cnf,删除skip-grant-tables,重启,再登录。7、关闭mysql服务,添加skip-grant-tables。添加skip-grant-tables # 免密登录。10、Navicat错误:ERROR 10060。11、Navicat错误:ERROR 1130。5、查看初始密码(红色部分为初始密码)8、重启服务,免密进入mysql。1、下载官方mysql包。2、安装mysql包。

2024-06-27 16:10:50 249

原创 Linux使用yum安装方式JDK记录

删除Java相关文件(注意:会删除所有文件,如有其他文件,请不要使用此命令删除)2、删除Java相关文件(默认openjdk安装路径)四、版本变化需要卸载JDK以及相关的Java文件。默认安装路径 /usr/lib/jvm目录下。二、安装JDK1.8(随便找了个版本)下一步,准备mysql5.7安装。前提已准备好Centos 7。一、查找需要安装的版本。1、查看JDK安装包。

2024-06-27 15:32:29 559

原创 0625JAVA接入微信小程序支付记录

(3)、PrepayWithRequestPaymentResponse对应的是wx.requestPayment接口中的请求参数,前端可直接使用;(2)、预支付下单请求及返回类所在包为com.wechat.pay.java.service.payments.jsapi;5.上面都配置完之后会得到:小程序APPID、商户号MCHID、商户证书序列号、APIV3密钥、商户证书私钥;(wx.requestPayment)发起微信支付,详见小程序API文档。用户支付成功后,商户可接收到微信支付支付结果通知。

2024-06-25 18:06:34 970

原创 MyBatisPlus进行增删改查简要代码记录

备注: 在上面代码中,我们没有设置id值,所以在插入数据的时候,MyBatisPlus使用了默认的雪花算法,雪花算法是基于时间戳+机器ID+流水号实现的,这样以保证id尽量不存在相同的。文档发布地址 : https://baomidou.com/pages/24112f。官方地址: https://baomidou.com/2.删除(根据id、ids、或map条件删除)(4)、Mapper.xml中编写SQL。(2)、serviceImpl写法。(3)、Mapper中定义接口方法。(1)、返回封装结果。

2024-06-24 14:48:48 297

JWT实现单点登录解决方案demo

JWT实现单点登录解决方案demo

2024-04-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除