自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 聊聊“ERP系统”和“WMS系统”

什么是ERP和WMS系统,它们是干什么的?有什么联系?

2025-07-02 14:50:40 585

原创 聊聊关于“大模型测试”的一些认识

聊聊关于“大模型测试”的一些认识

2025-07-02 11:22:56 570

原创 聊聊“测试时间”被压缩,我们该怎么应对

项目时间被大幅压缩,应该怎么应对

2025-06-25 20:54:12 1086

原创 为什么有的公司使用Java有的公司使用Go?

为什么有的公司使用Java有的公司使用Go?

2025-06-08 22:19:18 432

原创 AI测试用例生成平台

针对传统接口测试用例设计高度依赖人工经验、重复工作量大、覆盖场景有限等行业痛点,基于大语言模型技术实现接口测试用例智能生成系统

2025-04-18 14:50:58 926

原创 数据库整理

数据库整理

2022-07-07 15:16:13 868

原创 南理工在线交流群

项目总结

2022-06-28 13:48:49 555

原创 基于SpringBoot+Mybatis的个人博客系统

项目分享

2022-06-27 11:36:21 1095

原创 String以及StringBuffer的基本操作

代码总结package String和StringBuffer.exam;import java.util.Arrays;public class test { /*equals:比较的是内容,区分大小写*/ public static void main1(String[] args) { String str1 = new String("Hello"); String str2 = new String("Hello"); Sy

2022-04-05 23:11:22 691

原创 AOP详解

AOP:面向切面编程,AOP是一种编程思想,和语言无关。拦截器和AOP之间的关系?拦截器的拦截粒度比较粗,而SpringAOP拦截粒度更细什么是AOPAOP称为面向切面编程,在系统开发中主要用来解决一些系统层面上的问题,比如:日志,权限,事务等等。AOP利用一种称为“横切”的技术,将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。使用“横切”技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关

2021-12-21 23:52:29 2178

原创 前后端交互方式

前后端交互方式可以分成两种整个页面提交:比如:注册功能(post方式)ajax局部提交(java项目前后交互使用最多的技术):jQuery.getJSON()这种ajax请求方式是get方式请求,不能使用post方式,所以用这种方式不能上传图片和文件,在博客项目中注册使用的是post方式的表单提交。但是ajax本身是支持多种方式的,get,post,put,delete…控件的id和name的作用控件的id它是一种标识,它不是给后端接口用的,它是给前端js用的控件的name后端接收的key就

2021-12-20 10:28:06 1281

原创 @value注解

@value注解作用:这个注解是用来读取配置文件中的信息在application.properties文件中的内容:2:可以在程序中,使用并且把它打印出来打印结果:

2021-12-19 16:23:47 368

原创 mybatis中的动态SQL(if,trim,where,set,foreach标签)

动态SQL的使用

2021-12-18 17:41:30 691

原创 mybatis中一对一和一对多

拿博客系统的用户表和文章表来说一对一如果以文章为主题看用户,那么文章表和用户表之间的关系就是一对一;因为一章文章博客由一个用户写。一对多如果以用户为主题看文章,那么用户表和文章表之间的关系就是一对多;因为一个用户可以写多篇文章。...

2021-12-17 10:35:13 3169

原创 #{}和${}的区别

sql注入

2021-12-13 17:55:44 817

原创 mybatis中#{}和${}的区别以及SQL注入问题

mybatis

2021-12-13 17:40:28 2344

原创 @Param注解的使用

如果mapper层,mapper方法中的参数只有一个,那么mapper.xml中对应方法中的参数是什么无所谓,比如:mapper:mapper.xml:如果有两个以上的参数,那么可以在mapper层,mapper的方法中的参数添加@Param注解,mapper.xml中的参数可以和mapper中的方法中的参数不一致,利用@Param注解,实现映射。mapper:mapper.xml:...

2021-12-13 11:01:06 446

原创 mybatis中resultMap和resultType的区别

resultMapresultMap是返回值的类型映射,当程序中实体类的元素属性名称和对应的数据库中的字段名称不一致时,就需要使用resultMap这个返回值的类型映射。resultTyperesultType是返回值的类型,当程序中实体类的元素属性名称和对应的数据库中的字段名称完全一致时,就使用resultType。...

2021-12-13 09:40:50 602

原创 @Transactional注解

这是SpringFramework的注解,表示当执行完业务之后,进行回滚操作,不会污染数据库,保证方法可以正常执行,并且不会存储到数据库中@SpringBootTest@Transactional//表示当执行完业务之后,进行回滚操作,不会污染数据库,保证方法可以正常执行,并且不会存储到数据库中class UserMapperTest {@Resourceprivate UserMapper userMapper; @Test void addUser() { Us

2021-12-13 09:26:16 340

原创 @Autowired注解爆红原因及解决方法

@Autowired

2021-12-12 18:05:07 14411 1

原创 基本数据类型和包装类

基本数据类型和包装类为什么有了基本数据类型还要使用包装类因为类中有方法,使用包装类可以帮助我们实现不同数据类型之间的转换。装箱/装包装箱也叫装包,其实就是把简单数据类型转换成包装类型。自动装箱 public static void main(String[] args) { int i = 10; Integer a = i; }这就是自动装箱手动装箱 public static void main(String[] args) {

2021-12-11 23:00:27 321

原创 Java泛型详解

拿一个顺序表举例子这个:代表当前类是一个泛型类new T[10]:这是不被允许的,不能new泛型类型的数组,T[] t = new T[];是不允许的泛型的意义:在存储元素的时候,可以自动类型检查在获取元素的时候,可以自动类型转换泛型类型的参数不能是简单类型,是不参与类型的组成的。泛型到底是怎么编译的?泛型只在编译的时候起作用,在运行的时候是没有泛型的概念的,泛型是为了解决某些容器,算法等代码的通用性而引入,并且能在编译期间做类型检查。泛型在编译的时候使用的是擦除机制,也就是像Int

2021-12-11 22:01:30 346

原创 @ResponseBody

在类或者方法上加上这个注解,说明方法的返回类型不是视图,具体是什么看方法的具体返回值。

2021-12-10 15:40:47 143

原创 @RequestParam和@RequestBody的区别

注解

2021-12-09 15:17:57 1110

原创 socket API-UDP(客户端-服务器交互原理)

public class UdpEchoServer { //对于一个服务器程序来说,核心流程也是要分成两步: /* * 1:进行初始化操作(实例化Socket对象) * 2:进入主循环,接收并处理请求,(主循环就是一个“死循环”,因为服务器需要24小时不间断工作) * a)读取请求并解析 * b)根据请求计算响应 * c)把响应结果写回到客户端*/ private DatagramSocket socket = null;/

2021-10-11 14:34:32 430

原创 linux-(上)

linux初心:让我们写的代码能够被部署到服务器上,被外网用户访问到。因为软件开发的生命周期:需求分析,设计阶段,编码开发,测试阶段,部署/上线。之前部署的代码是部署到本机的Tomcat上了,此时外网用户是无法访问的,想要让外网用户也能访问最简单的办法就是:把程序部署到云服务器(Linux)上,这样才能被其他用户访问到。在公司中,大多数服务器,也都是Linux,所以必须要掌握Linux的基本操作,才能够完成部署。...

2021-10-08 12:23:22 593 1

原创 剑指offer(06)-从尾到头打印链表

题目描述输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。牛客链接本题牛客链接解题思路一可以使用stack的方式,但是这种方法会存在占用空间过大的问题先创建一个栈,然后依次从头到尾循环将链表中的节点元素入栈,再创建一个数组集合,利用栈先进后出的特点将栈中的元素分别出栈添加到数组集合中,return 数组集合。解题代码一/*** public class ListNode {* int val;* ListNode next =

2021-10-06 16:01:46 143

原创 剑指offer(05)-替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路字符串中定义两个新老索引下标,设置字符串里新的大小防止越界。首先判断老索引位置上的元素是不是空格,是空格的话对新索引位置进行操作,不是空格的话,再对新索引的位置进行另外的操作。解题代码import java.util.*;public class Solution { public String replaceSp

2021-10-04 22:13:33 109

原创 剑指offer(04)-数组中出现次数超过一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。牛客链接https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?解题思路1这道题思路比较明确,定义map,使用<数字,次数>的映射关系,最后统计每个字符出现的次数,看是否有次数超过数组元素个数一

2021-10-04 18:07:42 313 1

原创 剑指offer(03)-调整数组顺序使奇数位于偶数之前

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路这道题原题是不需要保证奇偶位置不变的,现在新增了需求,解决方法也比较多,我们用较优方式解决一下,借鉴一下插入排序的思想。代码实现注释一代码实现:public class Solution { public void reOrderArray(int [] array) { if(arra

2021-10-04 10:10:18 77

原创 剑指offer(2)-旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如:数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。给出的所有元素都大于0,若数组大小为0,请返回0。解题思路该题属于查询,查询的本质是排除,相比遍历,二分查找可以排除更多,那么查找的效率也就更高。当出现中间位置的元素值=左边位置的元素值,或者中间位置的元素值=右边位置的元素值,或者左边位置的元素值=右边位置的元素值,此时二分查找

2021-10-03 16:19:43 94

原创 剑指offer(1)

题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。oj链接https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?解决思路任何查找的过程,本质是排除的过程(谁排除的效率更高,谁查找的效率就更高)遍历的做法一次排除一个,用排除行列的做法一次可以排除一行或一列,效率明显提

2021-10-03 11:27:14 114

原创 bootstrap可编辑指定列字段的表格

先看一下效果:点击养护数量字段可以修改:修改之后的画面:下面说下实现该功能的步骤:首先在对应的前端页面引入 <th:block th:include="include :: bootstrap-table-editable-js" />然后在var optiaons里面添加:然后在对应的修改的字段添加:这样便可以实现表格指定字段在线修改功能...

2021-09-01 16:48:01 535 1

原创 String(重要)

String1.创建字符串常见的构造String的方式public class TestDemo { public static void main(String[] args) {//常见的String的构造方式有以下三种,在这三种里面最常见的是第一种 //方式一: String str = "abcdef"; System.out.println(str); //方式二: String str2 = new S

2021-08-28 13:31:29 1015 2

原创 字符串逆置+翻转字符串(面试常考题)

字符串逆置个人理解首先将字符串变为数组将里面的数组元素进行逆置,用双指针的思想进行交换位置将交换位置的数组元素再变为字符串返回(这里将数组元素变为字符串又有两种情况:1:return new String(value)     ~~~~     2:return String.copyValueOf(value); )代码实现public class TestDemo { public static St

2021-08-27 20:50:59 403 1

原创 字符串连接

目录字符串连接题目描述输入描述输出描述示例个人理解:反转字符串字符串连接题目描述不借用任何字符串库函数实现无冗余地接收两个字符串,然后把它们无冗余地连接起来。输入描述每一行包括两个字符串,长度不超过100。输出描述可能有多组测试数据,对于每组数据,不借用任何字符串库函数实现无冗余地接收两个字符串,然后把它们无冗余的连接起来,输出连接后的字符串。示例输入:abc def输出: abcdef个人理解:反转字符串...

2021-08-26 20:03:56 593 1

原创 项目:《图书管理系统》

目录图书管理系统一:简介二:核心需求1.简单的登录2.管理员端3.普通用户端三:类的设计1.创建图书相关的类2.创建操作相关的类3.创建用户相关的类4.进行整合5.实现具体的每个Operation四:演示效果图书管理系统项目目标熟悉类与类之间的关系掌握抽象类,接口,继承,封装,多态,向上转型,顺序表等知识点的应用一:简介该项目主要是,利用前面所学的知识点:类,抽象类,接口,封装,继承,多态,向上转型,顺序表等进行的一个简单的代码练习。二:核心需求1.简单的登录2.管理员端查找图书

2021-08-23 15:17:50 1089 3

原创 Clonable接口和深拷贝

对于数组的拷贝,如果是简单类型的话是深拷贝,如果是引用类型的话是浅拷贝,但是因为java是面向对象的,在回答面试官问题的时候,我们可以不用说的这么细,可以直接说浅拷贝。代码示例1class Person implements Cloneable{//如果想克隆自定义类,那么需要在自定义类上实现Cloneable接口 public int age; /*疑问:为什么这个接口是空接口呢?这是一个面试问题。 空节课:也把它叫做标记接口。其实就是这个意思:只要一个类实现了这个接口,那么就

2021-08-22 13:45:17 292 2

原创 什么是接口?

目录接口接口代码示例实现多个接口接口使用实例接口接口是抽象类的更进一步接口接口当中的方法,都是抽象方法其实可以有具体实现的方法。这个方法是被default来进行修饰的,一般情况下我们不去这样用(这个特性是在JDK1.8加入的)接口当中定义的成员变量,默认是常量接口当中的成员变量默认是:public static final 成员方法是:public abstract接口是不可以被实例化的。接口和类之间的关系:使用implements为了解决Java单继承的问题,可以实现多个接口只

2021-08-21 20:48:29 213

原创 什么是抽象类?

目录抽象类抽象方法以及抽象类注意代码演示抽象类的作用抽象类抽象方法以及抽象类在打印图形的例子中,我们发现,父类Shape中的draw方法好像并没有什么实际工作,主要的绘制图形都是由Shape的各种子类的draw方法来完成的,像这种没有实际工作的方法,我们可以把它设计成一个抽象方法,包含抽象方法的类我们称为抽象类。抽象方法:一个方法如果被abstract修饰,那么这个方法就是抽象方法,抽象方法没有具体的实现,但是抽象方法不能是private的。抽象类:包含抽象方法的类。注意抽象类不可以被

2021-08-21 14:19:18 271

空空如也

空空如也

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

TA关注的人

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