- 博客(28)
- 收藏
- 关注
原创 @RequestBody和@RequestParam和@PathVariable和@RequestAttribute
我们一般前后端分离开发每次请求都会携带一些固定的参数,例如: 租户id,坐席 id,我们会将这些固定参数放在 header 中,这时我们就可以使用过滤器来拦截请求,然后将取到的参数可以放到 request 或者 session 作用域中,在 controller 中我们就可以使用 @RequestAttribute 或者 @SessionAttribute 注解来获取值。,并不是前端传递的。注:如果参数前不写 @RequestParam(xxx) 的话,那么就前端可以有可以没有对应的 xxx 名字才行,
2024-01-22 10:13:29
1121
原创 Mybatis中#{}与${}的区别
Sql注入指的是程序解析时会将你传入的参数作为原来SQL语句的一部分,打乱原来SQL的结构,而通常我们只是需要传入一个参数而已.防止SQL注入,首先要对密码输入中的单引号进行过滤,再在后面加其它的逻辑判断,或者不用这样的动态SQL拼。
2024-01-19 13:58:23
449
原创 select...in在mybatis里使用(巨坑!!)
也就是说,如果按#{}的话,传入的参数classIds为"210901,210900,210899,210898,210897",再加上单引号,我们只能使用到第一个参数!在DAO层里的这个sql语句,传入的参数没问题,在mysql里面查询也查询到了数据,为什么在dao层执行的时候查到数据不完整甚至没有呢?标签来遍历数组中的元素,在放入in()中。这个时候,我们传入的参数需要是List形式,而不是String。替换 成变量的 值,相当于 JDBC 中的 Statement 编译变量替换 后;
2024-01-19 12:09:12
788
原创 mysql配置(各种配置参数详解)
用于检索mysql服务器的配置变量,包括了mysql服务器的各种设置,如字符集,存储引擎,缓冲池的大小,日志文件路径等。:查看mysql服务器当前运行状态的信息,包括连接数,查询执行次数,缓存命中率等。mysqld_safe被杀死后,mysqld依然存在, mysqld被杀死后,mysqld_safe会重启一个mysqld。父进程:mysqld_safe——管理mysqld,保证mysqld正常运行,这些只是MySQL中常用的一些配置,你可以根据实际需求进行调整和配置。对 mysql命令 执行的配置。
2024-01-15 09:27:38
4690
1
原创 并发编程线程安全问题
并发编程的原则:设计并发编程的目的是为了使程序获得更高的执行效率,但绝不能出现数据一致性(数据准确)问题,如果并发程序连最基本的执行结果准确性都无法保证,那并发编程就没有任何意义。如何控制多线程操作共享数据引起的数据准确性问题呢?使用“”的方案,即在同一时刻,只能有一个线程访问临界资源,也称作同步互斥访问,也就是**保证我们的共享资源每次只能被一个线程使用,一旦该资源被线程使用,其他线程将不得拥有使用权。**在Java中,提供了两种方式来实现同步互斥访问:synchronized和Lock。
2023-12-19 15:11:15
965
原创 Apose.words太好用了!支持html,word,pdf互相转换
【代码】Apose.words太好用了!支持html,word,pdf互相转换。
2023-12-14 15:48:08
743
原创 Lombok介绍和使用(通俗易懂版)
lombok可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的java代码(比如说getter或者setter方法,构造函数之类的。)它可以在我们编译源码时自动帮我们生成这些方法。使用lombok我们可以在源码中不需要写一些通用的方法,在编译生成的字节码文件中帮我们生成这些方法,使代码更简洁。
2023-12-13 10:34:11
970
原创 为什么要禁止除GET和POST之外的HTTP方法
GET和POST是最为常见方法,而且大部分主流网站只支持这两种方法,因为它们已经可以满足功能需求。二, 不安全的HTTP方法。一, HTTP请求有哪些。
2023-12-13 10:11:40
830
原创 freemarker+Aspose.word实现模板生成word并转成pdf
使用itext模板导出pdf适用范围业务生成的 pdf 是具有固定格式或者模板的文字及其图片等内容,使用模板,只需要将不一致的地方改成文本域,然后进行文字填充就可以了;如果涉及的业务不能有模块化可以提取出来东西,从开头一步一步去绘画。参考链接JAVA 使用Itext模板生成pdf,解决图片插入,文本域超出字体缩放,半自动换行[https://blog.csdn.net/a_lllk/article/details/109450972]
2023-12-12 15:26:20
1961
原创 JAVA导出PDF(一)
使用freemarker和itext把html转pdf,存在中文乱码,宋体不识别,需下载simsun.ttc字体,空白占位符不识别等等问题,对前端依赖性较大,不推荐;:业务生成的 pdf 是具有固定格式或者模板的文字及其图片等内容,使用模板,只需要将不一致的地方改成文本域,然后进行文字填充就可以了;如果涉及的业务不能有模块化可以提取出来东西,从开头一步一步去绘画。
2023-12-07 17:45:11
1429
原创 itexpdf自定义中文字体失败解决方法
3.更改之后,将其放入一个文件夹中,并cmd到该文件夹目录下,执行命令:jar cvf iTextAsian.jar com/itextpdf/text/pdf/fonts/*,如图。(com/itextpdf/text/pdf/fonts/),但是iTextAsian没有更新,还是之前的包名com/lowagie/text/pdf/fonts/)。转自https://blog.csdn.net/sds15732622190/article/details/77193315。
2023-12-06 16:52:11
578
1
原创 Java文件导出实现流程(一)
接下来,我们需要将数据写入到文件中。在Java中,我们可以使用FileWriter类来实现文件写入操作。首先,我们需要创建一个FileWriter对象,并传入文件对象作为参数。在Java开发中,文件导出是一项常见的功能。它可以将数据以文件的形式保存到本地或者服务器中,方便用户进行查看和下载。本文将指导你如何使用Java实现文件导出的功能。最后,我们需要关闭文件流,释放资源。通过指定文件路径和文件名,我们可以创建一个文件对象用于后续的文件操作。接下来,我们将详细介绍每一步需要做什么,以及相应的代码实现。
2023-12-05 15:39:23
1004
原创 【无标题】vagrant出现“mount:unknown filesystem type ‘vboxsf‘”错误解决方法
【代码】【无标题】vagrant出现“mount:unknown filesystem type ‘vboxsf‘”错误解决方法。
2023-12-04 17:53:02
573
原创 url转pdf或者html转pdf工具 — iText实现url转pdf
参考资料:iText:iText是一个非常著名的能够快速产生PDF文件的Java类库。支持文本,表格,图形的操作,可以方便的跟 Servlet 进行结合。iText的安装非常方便,在 http://www.lowagie.com/iText/download.html - downoad 网站上下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径在程序中就可以使用iText类库了。
2023-12-04 15:00:48
2579
原创 controller,dao,dto, model, service介绍和工作流程
工作流程:接收请求 -> 解析请求参数 -> 调用相应的服务处理业务逻辑 -> 封装响应数据 -> 返回响应数据给客户端。工作流程:接收数据访问请求 -> 访问数据库并执行相应的SQL语句 -> 封装查询结果 -> 返回结果给Service层。工作流程:接收控制层的请求 -> 调用DAO层访问数据库获取数据 -> 处理业务逻辑 -> 返回结果给控制层。工作流程:处理系统业务逻辑,对业务数据进行进一步的处理和封装。
2023-12-01 16:51:14
1031
1
原创 项目管理工具:TAPD
它能够提供全方位的项目管理、敏捷开发、测试管理、需求管理、缺陷管理、文档管理等功能,为团队提供一个高效、协作、透明的工作环境。TAPD能够帮助团队完成项目规划、任务分配、进度管理、风险预警、质量保障等工作,提高工作效率、降低项目风险、提升团队协作。项目管理:可以创建项目、管理项目成员、制定项目计划、监控项目进度等。测试管理:支持测试计划、测试用例、缺陷管理、自动化测试等功能。需求管理:支持需求发布、需求分析、需求评审、需求追踪等功能。缺陷管理:支持缺陷提交、缺陷跟踪、缺陷分析等功能。
2023-12-01 16:22:47
1140
1
原创 WSL安全频道支持出错,Wsl/0x80072f7d
wsl --list --online 报错:安全频道支持出错,Wsl/0x80072f7d(同时微软商店也会报这个错):win+r 输入inetcpl.cpl -> 高级 -> 开启TLS1.2。
2023-11-30 14:29:00
2282
原创 wsl安装虚拟机平台报错“无法解析服务器的名称或地址
选择所连接的网络,选择属性,再选择Internet协议版本4(TCP/IPv4)控制面板->网络和Internet,选择查看网络状态和任务。利用wsl安装拟机平台报错“无法解析服务器的名称或地址”保存配置,再次运行安装命令即可。选择属性,按以下配置即可。
2023-11-30 14:27:54
4160
原创 WSL2 安装和基本环境配置流程
本文仅用于记录在Windows11上安装WSL2(Windows Subsystem for Linux 2)(Windows Subsystem for Linux 2)顾名思义,是微软开发的适用于多种Linux发行版的子系统,允许开发人员直接在 Windows 上运行 GNU/Linux 环境,相比于传统的VMware或VirtualBox等虚拟机平台,WSL作为WIndows原生的服务,具有得天独厚的优势,其可以更容易地直接访问GPU并利用cuda进行深度学习算法的开发。
2023-11-30 14:26:37
1477
原创 应用容器引擎Docker4.25.2介绍及安装
首先双击桌面“Docker Desktop”图标启动docker desktop,启动完后再右击docker desktop托盘图标选择“Quit Docker Desktop”关闭docker。 Docker镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序,库,资源,配置等文件外,还包含了一些为了运行时准备的一些配置参数(环境变量,用户等);docker desktop 默认是安装到“C:\Program Files\Docker”下的,无法更改,但是可以用创建联接的方式改变。
2023-11-30 14:23:28
1289
原创 数的范围(二分,不用考虑边界问题版,点击就会)
就是找单调性用二分查找元素要求数组的有序性或者拥有类似有序的性质。只有所要寻找的数组能够满足某一条件而被分成两边,就可以进行二分。L的初始值为-1,R的初始值为N首先,如果二分本来就没有结果的话,程序是一定有结果的。
2023-11-29 16:21:14
988
1
原创 逆序对的数量(分治思想,归并排序衍生,参考yxc算法基础课)
逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆序对;给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。数列中的元素的取值范围 [1,109]。第二行包含 n 个整数,表示整个数列。第一行包含整数 n,表示数列的长度。输出一个整数,表示逆序对的个数。
2023-11-29 15:29:06
392
1
原创 快速排序实现和边界问题分析
当x等于q[l + r + 1 >> 1] 或者q[r] 只能使用quick_sort(l, i - 1), quick_sort(i, r)当x等于q[l + r >> 1] 或者q[l] 只能使用quick_sort(l, j), quick_sort(j + 1, r)X的数时就停止,j遇到小于等于x的数就停止,然后交换a[i], a[j]。当x = q[r]时 与x = q[l + r + 1 >> 1] 同理。当x = q[l]时 这时与x = q[l + r >> 1] 同理。
2023-11-28 13:41:01
510
1
原创 STL基础知识(个人复习)
此时我们用一个map来保存,学号作为key,姓名作为value,一个学生的这两个信息作为map的一个元素pair(pair用法总结),这4个元素是按学号(key)升序存放的,我们可以通过学号来得到对应的姓名。简单的理解容器,它就是一些模板类的集合,但和普通模板类不同的是,容器中封装的是组织数据的方法(也就是数据结构)。此外,两个正向迭代器可以互相赋值。vector 的底层为顺序表(数组),list 的底层为双向链表,deque 的底层为循环队列,set 的底层为红黑树,hash_set 的底层为哈希表。
2023-11-28 10:19:13
1183
原创 Shell常用命令(个人学习笔记)
一般Unix上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gizp压缩命今压缩成xxx.tar.gz(或称为xxx.tgz)的文件。它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,我们可以加上 -c 选项并利用 linux 的重定向。gzip test.txt 它会将文件压缩为文件 test.txt.gz,原来的文件则没有了,解压缩也一样。rm命令可以删除一个目录里面的一个或多个文件或目录,也可以将某个目录及其下的所有文件及子目录均删除。
2023-11-27 16:27:59
1132
原创 Oracle体系结构(个人学习笔记)
专门记录用户对数据库的所有修改,一旦数据库出现问题(断电,死机),可以利用重做日志文件将数据库恢复到一个正确的状态。用于记录对数据库的所有修改,修改信息包括用户对数据的修改,以及管理员对数据库结构的修改。控制文件存储了数据库名,数据库的数据文件和联机重做日志文件的名称和位置,数据库建立日期,数据库检查点,数据库当前序列号,数据库中表空间名等信息。一个段由若干个区组成,当创建一个段时(如创建一个表时),系统会在相应表空间中找到空闲区为该段分配空间。块是数据库中最小,最基本的存储单位。
2023-11-27 11:47:13
1519
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人