- 博客(98)
- 收藏
- 关注

原创 Sqlserver 死锁查询以及解锁方法
Sqlserver 死锁查询以及解锁方法Select * from master…sysprocesses where blocked > 0 查询数据库有没有被锁SELECT TOP 1 * FROM [dbo].表 WITH (NOLOCK) 这样查询没有问题所以确定是被锁了– 下面是查询死锁进程select request_session_id spid,
2022-04-12 14:04:56
8868
原创 SpringMVC实现全局异常处理器
接下来需要定义我们自己的业务异常类,以后和业务相关的异常通通抛出这个异常类,我们将错误码枚举变量的值存于其中。有了 ApiResult ,接下来需要定义一个枚举类, 来包含所有自定义的结果码。需求:希望通过全局统一的异常处理将自定义错误码以json的形式发送给前端。首先,定义一个统一结果返回类,最终需要将这个结果类的内容返回给前端。4、全局异常处理类 GlobalExceptionResolver。1、统一返回结果类 ApiResult。2、错误码枚举类 ResultCode。最后便是定义全局异常处理类。
2025-03-24 09:05:49
368
原创 timeGetTime()函数的用法
在SDK中,可以用 DWORD timeGetTime(VOID)函数获取系统时间,其返回值是毫秒单位的。可以用其实现延时功能的函数。函数以 毫秒 计的系统时间。该时间为从系统开启算起所经过的时间。timeGetTime()函数。
2025-03-24 08:59:23
309
原创 order by 导致分页出现重复数据问题
但是, 当 order by 的时间相同的时候 (数据不唯一), 系统对数据的排序可能变得随机化, (即一会儿这条数据在前面, 一会儿这条数据在后面).在使用 order by 的时候, 在本身需要排序的 目标字段 之后再加上一个 唯一字段 (比如PK或者UNIQUE字段), 保证顺序的唯一性.有时候我们需要按照时间排序, 并配合 limit 进行分页查询.由于 login_time 不唯一导致分页出现重复数据.所以, 当翻页的时候我们很容易便看到了重复的数据.数据库: postgresql。
2025-03-24 08:56:07
224
原创 HashMap 和 HashSet区别
仅存单一对象:HashSet 内部实际上使用了一个 HashMap 来实现,其中将传入的对象作为map中的Key,而所有 Value 固定设置为默认存在的 Present 类型实例(实际上是 static final Object PRESENT = new Object())。总结来说,如果你需要维护一组独一无二的项目并且不需要考虑他们与其他信息的关系,则应该选择 HashSet;每个键只能映射到至多一个值,并且不允许有相同的键存在(即key唯一),但可以有不同的键指向同一个value。
2025-02-24 16:38:44
219
原创 Java调用DeepSeek api方法
注意的是request.setEntity(new StringEntity(requestBody, ContentType.APPLICATION_JSON));一、在官网创建DeepSeek的API Keys,只显示一次及时获取保存,不然得重新创建。如果这句不加ContentType.APPLICATION_JSON 返回的都是英文。Java调用DeepSeek api方法。官网上都没有实例自己测试一下。二、创建api请求工具类。
2025-02-24 16:30:29
187
原创 【SpringMVC】——Json数据交互处理
fastjson.jar是阿里开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean 对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。JSONObject对应json对象,通过各种形式的get()方法可以获取json对象中的数据,也可以利用诸如size(),isEmpty()等方法获取"键:值"对的个数和判断是否为空。仔细观察这些方法,主要是实现json对象,json对象数组,javabean对象,json字符串之间的相互转化。
2025-02-24 16:21:29
926
原创 SqlServer中去除字段空格及特殊空格/回车/换行等
5.去除回车换行符 REPLACE(@str, CHAR(13) + CHAR(10), ‘’)3.去除回车符 REPLACE(@str, CHAR(13) , ‘’)4.去除换行符 REPLACE(@str, CHAR(10), ‘’)6.替换空格 REPLACE(@str,’ ‘,’')1.去除左边空格 LTRIM()2.去除右边空格 RTRIM()– 定义字符串str。
2025-01-15 15:50:12
907
原创 java中split详解
注意是空格加{1,}。如果是用两个或者以上空格split(“ {2,}”)。比如字符串a,bc,d,e,f若是以split(String “,”,int 2)分割那么会返回字符数组大小为2,[[a],[bc,d,e,f]]比如字符串ca,bc,b,d,e,f若是以split(String “[bc]”)分割那么会返回字符数组为[[a,],[,],[,d,e,f]]比如字符串a,c,d,e 若是以split(String “,”)分割那么会舍去,这个字符,然后返回字符数组[[a],[b],[c],[d]]
2025-01-15 15:46:36
302
原创 Tomcat显示乱码问题处理及窗口名称修改方式!!!
这里我遇到一个问题,是修改后tomcat无法启动情况,具体原因暂时还没找到,有可能是不小心修改错了配置,找一个其他的tomcat中的catalina.bat文件复制过来再次修改即可成功!这样修改后会将标题显示为乱码,因为tomcat的catalina.bat文件默认编码为UTF-8,本机电脑不同。Tomcat显示乱码问题处理及窗口名称修改方式!2、想要将其修改为中文,则需要修改以下配置!输入以上chcp即可!修改后重新启动Tomcat即可!可以按照以下方式查看本地编码!如此即可修改显示中文。
2025-01-15 15:41:56
191
原创 java 字符串转double数字失去精度Double.parseDouble(“0.00028“)*100D
【代码】java 字符串转double数字失去精度Double.parseDouble("0.00028")*100D。
2024-12-23 15:04:34
262
原创 字符串转数字后精度丢失问题
这段代码输出—未转换前:23.990000000000002。用一个类BigDecimal来操作,改动后。这样就解决了转换后精度丢失的问题。结果输出—转换后:23.99。
2024-12-23 15:00:19
228
原创 JAVA的三元运算符
例如,将 String 类型的数据“45转换为数值型,也可以将任意类型的数据转换为 String 类型。例,将 int 型变量直接赋值给 flat 型变量,此时 int 型变量将隐式转换成 at 型变量。int a =(int)45.23: //此时输出a的值为45。a = false;//若条件不成立,将 false 赋值给 a。a = true, //条件成立,将true 赋值给 a。float y=x //将x赋值给y,y的值为 50.0。
2024-12-12 10:10:54
356
原创 SqlServer 处理百万级以上的数据如何提高查询速度
例如耽搁查询的排序、连接、扫描和 GROUP BY 字句同时执行,SQL SERVER 根据系统的负载情况决定最优的并行等级,复杂的需要消耗大量的 CPU 的查询最适合并行处理。在 T-sql 的写法上有很大的讲究,下面列出常见的要点:首先,DBMS 处理查询计划的过程是这样的: 1、 查询语句的词法、语法检查。15.应尽可能的避免更新 clustered 索引数据列,因为 clustered 索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。
2024-11-26 14:57:01
887
原创 【index:1,size:1错误】
这里的问题在于,您在循环条件中使用了fhorderList.get(j),而在循环体内部也使用了相同的j来获取GoodsInfos中的元素。这会导致在第一次迭代(j=0)时正确执行,但在第二次迭代(j=1)时,如果fhorderList.get(1)不存在(例如当fhorderList的大小为1时),就会抛出IndexOutOfBoundsException异常。正确的做法应该是先获取当前订单的GoodsInfos,然后遍历这个GoodsInfos列表。
2024-11-07 15:28:14
451
原创 windows MySQL报错Packet for query is too large问题解决
MySQL根据配置文件会限制Server接受的数据包大小。有时候插入、更新或查询时数据包的大小,会受 max_allowed_packet 参数限制,导致操作失败。可以看到在可执行文件的路径是C:\ProgramData\MySQL\MySQL Server 5.7\my.ini,即mysql的配置文件在该目录下。3、查找windows下mysql安装位置即查找my.ini文件。修改mysql配置文件 windows下 my.ini。出现问题的原因:批量插入数据量过大。在[mysqld]下添加。
2024-11-05 11:35:57
630
原创 ISNULL 和 COALESCE 区别
类型转换:如果 ISNULL 的两个参数数据类型不同,SQL Server 会尝试将第二个参数隐式转换为第一个参数的数据类型。参数数量:COALESCE 可以接受两个或更多的参数。它从左到右评估每个表达式,并返回第一个非 NULL 的表达式的值。类型转换:COALESCE 返回的是与第一个非 NULL 参数相同的数据类型。如果所有参数都是不同的类型,那么结果类型将是根据数据库特定规则确定的最通用类型。第一个参数是要检查是否为 NULL 的表达式,第二个参数是当第一个参数为 NULL 时要返回的值。
2024-10-17 13:55:15
327
原创 去重 获取会员数量
COUNT(DISTINCT CASE WHEN vpdm IS NOT NULL AND vpdm ‘’ THEN vpdm END) AS xsrs
2024-10-17 13:53:48
404
原创 tream流操作,判断list中对象的字段是否为空,提取不为空的值
List elementValueList = elementList.stream().filter(FdRiskDutyElement -> !StringUtil.isEmpty(FdRiskDutyElement.getElementValue())).map(FdRiskDutyElement::getElementValue).collect(Collectors.toList());
2024-10-17 13:49:48
165
原创 传递给 LEFT 或 SUBSTRING 函数的长度参数无效
而如果where条件变为:Id=4就不会报错,即:select left(long,charindex(‘’,Long)-1) from Site where id=4。我的Sql语句:select left(long,charindex(‘’,Long)-1) from Site 会报错,仍然报上面的错误信息:传递给 LEFT 或 SUBSTRING 函数的长度参数无效。错误信息是:传递给 LEFT 或 SUBSTRING 函数的长度参数无效。没有判断字段Long中不包含空格的情况。
2024-09-05 09:10:38
741
原创 在 sql server 数据库中,查询数据库的占用的空间大小和数据库中各表的占用大小
执行完毕后结果是两个表,第一个表中包含了基本的统计信息,第二个表示更加详细的数据占用情况。
2024-09-05 09:06:24
954
原创 List 集合指定值升序降序排列Comparator实现
在上面的降序排序示例中,我们使用了 Comparator.comparing(Spgg2BO::getGgwz).reversed() 方法来创建一个比较器,该比较器首先基于 getGgwz 方法获取的 ggwz 值进行比较,然后通过 .reversed() 方法来反转比较结果,从而实现降序排序。总结来说,升序排序是按照自然顺序从小到大排序,而降序排序是按照相反的顺序从大到小排序。对于数值类型来说,可以直接使用 compareTo 方法,而对于其他类型,可以根据实际需求实现比较逻辑。
2024-09-03 10:32:30
639
原创 java.lang.OutOfMemoryError: GC overhead limit exceeded问题分析及解决
其实平时我们学习再多的理论知识,不如一次生产实践中遇到一次问题带来的收获多。当然这里分享的如有错误还望指出,只有这样才能不断的进步。
2024-08-26 09:10:23
1527
原创 SQL中 isnull()用法总结
这个函数的意思是如果value1的值为null 函数返回value3 否则函数返回value2 也就是说函数永远不会返回value1。这个函数的意思是如果value1的值为null,那么函数返回value2的值 ,如果value1不为空,那么就返回value1的值。NULLIF(expr1,expr2),含义是:如果第一个参数的值等于第二个参数的值则返回空,否则返回第一个值。1.isnull(exper) 判断exper是否为空,是则返回1,否则返回0。
2024-08-26 09:06:04
639
原创 SQL server 自定义函数FUNCTION的使用
在SQL server中不仅可以可以使用系统自带的函数(时间函数、聚合函数、字符串函数等等),还可以根据需要自定义函数。用户自定义函数的类型:1、标量值函数(返回一个标量值)2、表格值函数(内联表格值函数、多语句表值函数,返回一个结果集即返回多个值)1、同点:创建定义相同: CREATE FUNCTION F_NAME(传入的参数名称 传入参数的类型)RETURNS 返回值类型ASa.标量值函数返回的是一个数据类型值,
2024-08-26 09:04:53
715
原创 超详细JDK下载与安装步骤
JAVA_HOME%\lib\tools.jar(注意前面是又有一个点的而且是一个英文状态下的小圆点),这里推荐直接复制粘贴的。5.当然后续如果想更换其他版本的jdk的话,只需要在系统配置中的JAVA_HOME变量配置你对应想切换的jdk的版本的目录即可啦。然后点确定保存,出去之后再点确定,然后再点确定,至此环境变量配置完毕,接下来就是测试环境变量配置有没有问题了。1.在桌面,鼠标右键 “此电脑” 选择属性,之后会出现一个弹窗,点击 “高级系统设置”安装好jdk后,就剩下最重要的环境变量的配置了。
2024-07-31 14:43:09
1049
原创 修改java启动参数_如何修改jvm启动参数
用java命令查看。用java -option进行修改参数。还有tomcat,eclipse启动时通过配置文件加载的。详细如下:安装Java开发软件时,默认安装包含两个文件夹,一个JDK(Java开发工具箱),一个JRE(Java运行环境,内含JVM),其中JDK内另含一个JRE。如果只是运行Java程序,则JRE已足够;而JDK则只有开发人员才用到。一、配置JVM内存1.配置JVM内存的参数-XmxJavaHeap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;-X
2024-07-31 14:34:10
708
原创 Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结(oom)
Java程序的每个线程中都有一个独立的堆栈。默认的Java虚拟机最大内存仅为64兆,这在开发调试过程中可能没有问题,但在实际的应用环境中是远远不能满足需要的,除非你的应用非常小,也没什么访问量。清理应用程序中web-inf/lib下的jar,如果tomcat部署了多个应用,很多应用都使用了相同的jar,可以将共同的jar移到tomcat共同的lib下,减少类的重复加载。发生这种问题的原因是java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配的到堆内存空间已经用满了,与Heap space有关。
2024-07-31 14:27:48
4433
原创 java启动命令与参数配置
其中args为运行时参数,即main方法中的参数数组args,可以通过修改启动配置进行设置,以idea为例,如图这里设置了3个参数,每个参数之间用空格分隔,如果参数自身带有空格,则需要用引号包裹。我们在设置VM参数时不能随意设置,要么使用-Dargname=argvalue这种形式,要么使用预定义的标准参数,如-javaagent:xxxx,以及-classpath xxxx。标准参数,顾名思义,标准参数中包括功能以及输出的结果都是很稳定的,基本上不会随着JVM版本的变化而变化。
2024-06-26 09:09:40
2340
2
原创 mybatis QueryWrapper的条件构造之apply、last、select
传入的字段是时间类型,就用#{} 占位符接收。如果是具体的一个数字或字符可以用 ${ }来接收。或者使用QueryWrapper的select。如果是oracle则可以用apply。以上就是根据最新时间查询top条数据。场景: 查询数据库限制条数时。mysql上的limit使用。如果是sqlserver。建议自己写sql查询语句。
2024-06-26 09:04:25
646
原创 ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。3.统计出每一个各户的所有订单并按每一个客户下的订单的金额 升序排序,同时给每一个客户的订单进行编号。7.注意:在使用over等开窗函数时,over里头的分组及排序的执行晚于“where,group by,order by”的执行。1.先按客户进行分组,然后按客户的下单的时间进行排序,并进行编号。3.根据查找出每一个客户的最小价格来查找相应的记录。
2024-05-13 09:07:04
754
原创 对接支付宝、微信、第三方支付,超详细讲解+demo演示
合作商如需对接公众号支付接口,需提供微信应用ID(AppID)、以及支付授权目录,在相关参数配置完毕后,再联系vx:suixinZT1204/QQ:643464987,获取测试商户号、测试终端号以及测试接口域名。接口的完整URL由统一前缀+接口的URL组成,测试环境和生产环境的统一前缀完全不同,测试环境的URL前缀为http://test.lcsw.cn:8010/lcsw。本文档中的每一个接口,未明确说明的,均在请求参数附加一个名为key_sign的参数,此参数即本次请求参数的签名字符串。
2024-05-13 09:00:09
5089
3
原创 MP:There is no getter for property named ‘null‘ in ‘class XXX‘异常
在使用主键进行更新或者删除的时候,报下面错误。
2024-04-24 09:11:05
187
1
原创 IDEA-SpringBoot项目Debug启动不了(卡住不动)的原因分析
SpringBoot项目启动原因有很多种,这里只列举其中一种,也是最近遇到的一种SpringBoot启动失败的情况,如果有相同情况的,可以看看是否是这个原因。
2024-04-24 09:08:07
1006
原创 BeanUtils.copyProperties的用法
BeanUtils提供了对java反射和自省API的包装,其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。spring和apache的copy属性的方法源和目的参数的位置正好相反,所以导包和调用的时候都要注意一下。如果按照上面那种赋值方式,是非常麻烦的,而且代码估计会很多。最后附上源码,方便大家可以更好地理解他的属性;
2024-04-24 08:56:13
283
原创 SQLServer性能优化分析--执行计划、耗时SQL排查和死锁处理
2.2 案例:在test_db数据库中的User表上查询“学号=123“的学生,并分析哪些索引被系统采用。2.1 执行计划查询启用和关闭语法。3.1 执行计划查询启用和关闭语法。1.4 显示表的磁盘空间使用情况。1.3 查询存储过程定义。5.1 查询死锁进程ID。5.2 查询死锁进程信息。
2024-03-22 17:11:23
979
原创 Java通过SSH连接数据库
1 实现思路:本地–>跳板机–>目标数据库2 IP走向:127.0.0.1:5432 --> 192.168.1.111 -->10.11.12.13:5432。
2024-03-22 16:59:07
781
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人