- 博客(136)
- 收藏
- 关注
原创 【JSqlParser】Java使用JSqlParser解析SQL语句总结
上面的代码虽然不少,但实际上真正需要熟悉的只有一个,就是直接调用CCJSqlParserUtil.parse(sql);去获得Statement,然后通过Statement去操作和获取解析后的SQL中的内容,非常简单方便实际应用场景说了那么多JSQLPARSER的使用,或许很多朋友并不能联想到有哪些具体可以用到它的地方,实际上想要开发一个优秀的软件产品,那么细节是少不了的,SQL是BS软件的本质之一,那么针对SQL,我们能做的还有很多,以下列举几个常见的场景SQL审计和分析。
2025-03-22 15:23:19
993
原创 SQL自学:怎么创建视图
具体来说,选择了“customers”表中的“customer_name”(客户姓名)和“city”(客户所在城市),同时通过对“orders”表中的“order_id”进行计数(使用“COUNT(o.order_id)”并别名为“total_orders”)得到每个客户的订单总数,以及对“orders”表中的“total_amount”进行求和(使用“SUM(o.total_amount)”并别名为“total_amount”)得到每个客户的总金额。这个视图是基于名为“employees”的表创建的。
2025-03-22 02:36:25
756
原创 SpringCloud系列教程:微服务的未来(十四)网关登录校验、自定义过滤器GlobalFilter、GatawayFilter
在微服务架构中,API 网关扮演着至关重要的角色,负责路由请求、执行安全验证、流量控制等任务。Spring Cloud Gateway 作为一个强大的网关解决方案,提供了灵活的方式来实现这些功能。本篇博客将重点介绍如何在 Spring Cloud Gateway 中实现网关登录校验,以及如何利用自定义过滤器(GlobalFilter 和 GatewayFilter)来处理请求和响应。通过这些技术,开发者可以在网关层统一处理认证、授权等功能,同时保持对路由的细粒度控制。
2025-03-22 00:59:34
867
原创 springboot3.X 无法解析parameter参数问题
使用最新版的Springboot 3.2.1(我使用3.2.0)搭建开发环境进行开发,调用接口时出现奇怪的错。
2025-03-10 23:37:23
659
原创 Spring Boot整合DeepSeek实现AI对话
而SpringBoot 3.2.x 和 3.3.x依赖的JDK版本最低应该也是JDK17,所以这里演示整合的代码都是基于spring boot 3.3.8 以及 JDK17。Spring 是一个支持 Java 开发的框架,而 Spring AI 使得 Java 开发人员能够更容易地构建、管理和集成人工智能模型和机器学习功能。其他也就一样了,只是把地址换成了本地ollama的服务地址,api-key不需要了但是也不能不填,不填会报错,模型就配置本地有的模型即可。,就可以在需要的地方注入。
2025-03-10 17:37:57
962
原创 redis命令详解
也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。append key value 如果key存储的值是一个字符串,append命令将指定的value追加到key原来bvalue的末尾。Set 是 string 类型的无序集合。是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
2025-03-10 12:51:51
937
原创 nvm下载安装教程(node.js 下载安装教程)
nvm 是一个 node.js 的版本管理工具,相比于仅安装 node.js,我们可以使用 nvm 直接下载或卸载 node.js,可以同时安装多个 node.js 版本,并动态的切换本地环境中的 node.js 环境版本等,在开发过程中更加的便捷。
2025-03-07 23:02:23
1036
原创 mysql的分区表
---------------分割线-------------------------------下面以时间范围进行创建(每月一个分区,表中创建了四个月的分区)2、写存储过程,用于创建新的分区, 这里是按天创建新的分区。【针对mysql,使用mysql的定时事件】3、创建定时事件,调用存储过程。4、查看已经创建的定时事件。2、mapper文件。
2025-03-05 19:17:39
159
原创 MySQL 常用 SQL 语句大全
这些 SQL 语句和技巧覆盖了数据库操作的广泛领域,从基础查询到高级管理和优化。掌握这些可以帮助你更高效地管理和操作 MySQL 数据库。使用 GROUP_CONCAT 函数。删除表中的所有记录(也叫截断表)内连接(INNER JOIN)右连接(RIGHT JOIN)基于其他表的更新(关联更新)左连接(LEFT JOIN)全连接(FULL JOIN)在 WHERE 子句中。计算字段的平均值和总和。在 FROM 子句中。查看当前的数据库状态。
2025-03-05 17:55:45
304
原创 java面试项目中遇到难题,大量教程
Java反射java反射知识导图这块的内容不多,但也很重要,虽然开发中可能不是经常用到,但经常会在 看源码的场景中遇到,实际开发中有些情景也是会遇到,所以掌。读者问小夕:学算法除了面试会用到,其它地方到底有什么用(二)前提接上篇,上次读者问小夕,平时刷的面试题,除了面试会用到,基本没啥用了吧除了上次那里用到的地方,小夕最近做的一个业务需求又用到了 碰到过。HR不会告诉你的Java工程师的履历秘密获得面试的机会也就相对渺茫,但我正是通过这种最常见的方式成功拿到了上述几家大型科技企业的面试机会。
2025-03-05 16:30:55
694
原创 Java基础面试题50题
序列化机制(包括序列化和反序列化)的本质是用流将对象读到内存和写入外存。序列化机制的意义就是将对象脱离程序运行独立存在应用场景是在RMI(远程方法调用)中应用,即通过网路或跨平台传输对象,而RMI是javaEE开发基础,所以javaEE要求传递的参数与返回值都实现序列化机制序列化是用流将java对象转成二进制写入硬盘或网络反序列化是用流将二进制数据转为java对象写入内存。
2025-03-05 01:23:09
350
原创 CVE-2024-38819:Spring 框架路径遍历 PoC 漏洞复现
注意在创建的时候有些镜像无法拉取到,可以在Dockerfile文件中修改配置使用其他的镜像。: 通过创建符号链接,攻击者可以尝试构造一个路径遍历的恶意 URL。该漏洞利用了路径遍历问题,使攻击者能够访问系统中本不应暴露的文件(如。攻击者能够进一步利用该信息来获取其他敏感数据或执行任意代码。这段代码创建了一个静态文件资源的路由。目录“跳出”并访问系统的其他目录(如。来尝试获取指向其他系统路径的文件。拿到环境的源码使用docker搭建。文件的内容,证明存在该漏洞。),从而获取系统敏感信息。
2025-03-05 00:05:35
275
原创 链接MySQL报错2059 -Authentication plugin ‘caching sha2 password‘ cannot be loaded解决方案
在MySQL 8.0及以上版本中,默认的用户密码认证插件是’caching_sha2_password’,而在MySQL 5.7及以下版本中,默认的是’mysql_native_password’。如果客户端不支持’caching_sha2_password’,就会出现这个错误。新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。法2:修改用户的密码认证插件:可以将用户的密码认证插件改为’mysql_native_password’。
2025-03-03 11:59:41
353
原创 深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna)
在数据驱动决策的时代,将自然语言查询转化为结构化查询语言(SQL)的能力变得日益重要。无论是小型创业公司还是大型企业,都希望能够更轻松地从海量的数据中挖掘出有价值的见解。然而,对于那些不熟悉SQL或者数据库架构的用户来说,直接编写复杂的查询语句往往是一个巨大的挑战。正是为了解决这一问题,Text2SQL技术应运而生,它允许用户通过简单的自然语言描述来获取他们所需的数据库信息。近年来,随着人工智能和机器学习领域的迅速发展,Text2SQL技术也取得了显著的进步。
2025-03-02 22:16:58
1206
原创 如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
通过本文,你已经学会了如何在Windows系统上安装Node.js,并使用nvm来管理多个Node.js版本。Node版本管理器(nvm)让你能够在不同的项目中灵活切换Node.js版本,提高了开发效率。此外,配置npm镜像源后,你可以大幅提高在中国大陆地区的下载速度。希望本文帮助你成功配置Node.js环境,并轻松开始你的JavaScript和Node.js开发之旅!
2025-03-02 20:57:49
611
原创 初级爬虫实战——巴黎圣母院新闻
由于一个版面对应一篇文章,所以版面url 、更新时间、标题和文章是一样的,并且按照设计版面id和文章id的区别只是差了个01,所以可以传递版面url、版面id、更新时间和标题四个参数到解析文章的函数里面。我们发现有两种方式查看所有新闻,一种是按照类别,一种是按照时间,经过进一步的观察我们发现按照时间查看新闻会更全,所以我们选择按照年份(按照月份和按照年份一样的效果)爬取。的字段,包含标题、内容,作者,发布时间,链接地址,文章快照 (可能需要翻墙才能访问)# 转义网页中的图片标签。# 反转译文件中的插图。
2025-03-02 19:19:09
696
原创 一文搞懂MYSQL、SQL、SQLServer、SQLyog的区别和联系
SQL是标准语言,用于与关系型数据库交互,是MySQL、SQL Server等数据库的核心操作语言。MySQL和SQL Server是具体的关系型数据库系统,前者开源免费,后者针对企业用户,功能更强大。SQLyog是管理MySQL数据库的辅助工具,它利用图形界面简化MySQL的操作,适合小型项目和个人开发者。
2025-03-01 15:29:21
605
原创 【Python】Flask与Django对比详解:教你如何选择最适合你的Web框架
Flask是一个微型的Web框架,由Armin Ronacher在2010年开发,旨在让开发者能够快速搭建Web应用。Flask的设计哲学是“简洁而不简单”,它提供了核心功能,同时允许开发者根据需求自由添加扩展。这种灵活性使得Flask在许多项目中表现出色,尤其是在需要高度自定义的场景下。Django由Adrian Holovaty和Simon Willison在2005年创建,旨在让开发者能够快速构建功能齐全的Web应用。
2025-02-28 23:27:41
772
原创 【Golang】Go语言中defer与return的精妙交织:探索延迟执行与返回顺序的微妙关系
在Go语言中,defer和return是两个非常重要的关键字,它们在函数执行过程中起着至关重要的作用。defer用于延迟执行一个函数调用,通常用于在函数执行结束后进行一些清理工作或资源释放操作。而return则用于从函数中返回结果并终止函数的执行。在Go语言中,defer 语句的执行时机和返回值的处理方式涉及到一些微妙的规则,特别是在 defer 和 return 同时出现时,其执行顺序可能会引发一些混淆和困惑。本文将深入探讨Go语言中defer和return的执行顺序,并解释它们之间的关系。
2025-02-28 14:27:45
808
原创 SQL 注入详解:原理、危害与防范措施
SQL注入是一种常见的安全漏洞,攻击者通过在应用程序中插入恶意的SQL代码,诱使数据库执行非授权的操作。这种攻击通常发生在应用程序没有正确过滤或转义用户输入的情况下,导致攻击者能够操控数据库查询,从而获取、修改或删除数据。SQL注入是一个严重的安全问题,开发者必须采取有效措施来预防。使用预编译语句、严格验证用户输入、遵循最小权限原则等都是防范SQL注入的有效手段。此外,定期的安全审查和测试也是保障应用安全的重要环节。通过这些措施,可以大大降低SQL注入的风险,保护应用程序和用户数据的安全。
2025-02-28 12:47:56
945
原创 SpringBoot项目进行配置
如果创建过程中出现异常报错,有可能是没有下载maven,也有可能是网络问题,如果没有下载maven请前往官方地址下载maven,再来创建该项目。INSERT INTO car VALUES(null,‘小米su7’,2000)12.创建以包名:controller、service、mapper、bean。在resources下创建mapper的xml文件,统一用mapper包管理。完成springboot的一个简单创建,实现了一个简单功能!3.切换Druid数据源。控制台打印sql语句。
2025-02-28 11:04:45
976
原创 SpringBoot 与 SpringCloud的版本对应详细版
spring cloud各个版本之间是有所区别的,比如在SpringCloud中,1.X和2.X版本在pom.xml中引入的jar包名字都不一样,比如有的叫spirng-cloud-starter-hystrix 有的叫spring-cloud-netflix-hystrix,维护起来会比较困难。spring-cloud-starter-netflix-xx 替换了原有的 spring-cloud-starter-xx(此处如有不正确请指出)关于spring cloud1.x版本和2.x版本区别。
2025-02-27 14:11:10
514
原创 Spring Boot 集成 Kafka
Kafka 是一个分布式的流处理平台,同时也可以作为一个高性能的消息队列系统使用。它最初由 LinkedIn 开发,后来成为了 Apache 软件基金会的一个开源项目。高吞吐量:Kafka 能够处理大量的消息,每秒可以处理数十万条消息。分布式架构:Kafka 可以在多个服务器上运行,实现分布式存储和处理消息。可扩展性:可以根据需要动态地增加或减少服务器数量,以满足不同的负载需求。持久化存储:Kafka 可以将消息持久化存储在磁盘上,保证消息不会丢失。
2025-02-27 12:48:07
1171
原创 MySQL表转移数据的三种方式
以上三种方式是博主能想到的,但肯定不止这三种,如果使用数据库连接工具,还可以直接将数据导出,然后再导入,操作起来很方便,但是效率堪忧。
2025-02-26 02:32:32
230
原创 MySQL--》如何在MySQL中打造高效优化索引
2)select_type:表示select的类型,常见的取值有simple(简单表,即不使用表连接或者子查询)、primary(主查询,即外层的查询)、union(union中的第二个或者后面的查询语句)、subquery(select/where之后包含了子查询)等。(有序),在数据之外数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
2025-02-26 01:12:44
426
原创 java面试中被问到遇到过项目中的难点,怎么回答?
回答这个问题的方法取决于你的项目的类型和难度。请注意,回答这个问题的目的是展示你的技术能力和工程思维,而不是否定你的项目或者技能。这就是一个回答项目难点的示例。你可以根据自己的项目和遇到的难点进行修改和调整。的语言回答这个问题。
2025-02-25 21:51:05
389
原创 JAVA 学习路线 学习大纲(java 进阶路线)
Spring MVC:跟开涛学SpringMvc(http://www.cnblogs.com/kaitao/archive/2012/07/16/2593441.html)Spring:跟开涛学Spring3(http://www.open-open.com/doc/view/5407635b943d410c9cfde409c90450b7)MyBatis:MyBatis实战教程(http://www.yihaomen.com/article/java/302.htm) MyBatis学习。
2025-02-24 19:15:58
169
原创 AI语言模型的技术之争:DeepSeek与ChatGPT的架构与训练揭秘
DeepSeek是由中国初创公司DeepSeek所开发的一款大型语言模型。该公司成立于2023年,并通过开源的方式快速吸引了开发者和研究者的关注。DeepSeek的首个版本——DeepSeek-R1,自发布以来便在业内引发了广泛讨论。其最大特点之一是能够在逻辑推理、数学推理以及实时问题解决方面展现出独特的优势。相较于其他同类模型,DeepSeek的设计目标是让人工智能能够更高效地处理结构化数据与知识密集型任务,尤其是在需要复杂推理和精准计算的场景下。这使得DeepSeek成为一种更为通用的推理工具。
2025-02-24 16:25:50
1110
原创 精选历年大厂高频Java面试真题集锦(含答案),助力面试一路开挂
这些面试题全部在下面这个总共485页的PDF里面,内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈,每个技术以及在PDF中的对应位置都截图在下文,大家可以先进行查看。:学弟工作一年半,薪资9K出头,最开始目标是跳槽到货拉拉、唯品会这样规模的中厂,顶多冲刺一下网易、有赞这样的中大厂,如果成功就是爆赚。
2025-02-23 06:24:56
926
原创 微服务生态组件之Spring Cloud LoadBalancer详解和源码分析
Spring Cloud LoadBalancer目前Spring官方是放在spring-cloud-commons里,Spring Cloud最新版本为2021.0.2Spring Cloud LoadBalancer 官网文档地址Spring Cloud官网文档地址一方面Netflix Ribbon停止更新,Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器,抽象和实现,用来替代Ribbon。
2025-02-23 04:38:33
1221
原创 基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证
基于Spring Boot3实现Spring Security6 + JWT + Redis实现登录、token身份认证。系列文章指路??项目源码??
2025-02-22 04:01:38
587
原创 SQL 基础 BETWEEN 的常见用法
操作符是SQL中非常有用的工具,它允许你快速选取某个范围内的值。这个查询不会返回任何行,因为没有任何列的值可以位于一个以。操作符是包含性的,这意味着它包括指定的边界值。是一个操作符,用于选取介于两个值之间的数据。这个查询将选取姓以A、B或C开头的所有客户。这将选取乘积在50到200之间的销售记录。子句中,以便选取某个范围内的值。条件,使查询更加简洁。这将返回1月份的所有订单。它包含这两个边界值。
2025-02-21 22:22:25
311
原创 SpringBoot有几种获取Request对象的方法
HttpServletRequest 简称 Request,它是一个 Servlet API 提供的对象,用于获取客户端发起的 HTTP 请求信息。例如:获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。那么问题来了,在 Spring Boot 中,获取 Request 对象的方法有哪些?常见的获取 Request 对象的方法有以下三种:通过请求参数中获取 Request 对象;通过 RequestContextHolder 获取 Request 对象;
2025-02-21 17:23:58
446
原创 Spring 事务(详解)
将组操作封装成个执单元,要么全部成功要么全部失败。为什么要事务?如转账分为两个操作:第步操作:A 账户 -100 元,第步操作:B 账户 +100 元。如果没有事务,第步执成功了,第步执失败了,那么 A 账户平故的 100 元就“间蒸发”了。如果使事务就可以解决这个问题,让这组操作要么起成功,要么起失败。
2025-02-21 15:30:28
813
原创 rustdesk远程桌面使用
为什么使用rustdesk,因为向日葵,todesk,免费版本的有各种各样的坑,比如限制你的登录,需要你重新登录使用,画面模糊,限制你的流量网速等等,还不如自搭rustdesk,安全高且速度只取决于服务端的网速和线下设备的网速。
2025-02-21 02:24:05
360
原创 phpStorm环境配置与应用
打开 PhpStorm,选择“File” -> “Settings”(或“Preferences”在macOS上)。选择“Project: YourProjectName” -> “Project Interpreter”。选择“VCS” -> “Enable Version Control Integration”。打开 PhpStorm,选择“Create New Project”。点击齿轮图标,选择“Add” -> “Local”。打开 PhpStorm,选择“Open”。确认设置后,点击“OK”。
2025-02-21 00:38:31
735
原创 MySQL超详细安装配置教程(亲测有效)
目录1.下载mysql?2.环境配置3.安装mysql?4.navicat工具下载与连接?5总结mysql下载–MySQL :: 下载 MySQL 社区服务器下载的时候这里直接逃过就行我这里的版本是最新的mysql8.0.37下载完成之后,将压缩包进行解压这里我建议大家把自己的mysql放到D盘根目录下,防止后面出现问题,自己找的时候也方便(我就踩过这个坑)打开电脑系统环境变量在系统变量中找到Path,点击进入编辑加上自己mysql中bin文件夹的路径然后确定退出即可编辑创建好的my.ini文件,用于初始化
2025-02-20 22:40:33
694
原创 【全栈开发】----Mysql基本配置与使用
MySQL 是一种广泛使用的关系型数据库管理系统(RDBMS),以其高性能、可靠性和易用性而闻名。作为开源软件,MySQL 遵循 GNU 通用公共许可证(GPL),提供免费和商业版本,适用于各种规模的应用程序开发。它支持多种操作系统,如 Windows、Linux 和 macOS,具有跨平台的灵活性。MySQL 的核心优势在于其高效的查询处理能力,特别适合高并发读写操作,并且内置了丰富的安全特性,如用户权限管理和 SSL 支持,确保数据传输的安全性。
2025-02-16 01:09:40
964
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人