自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: org/apache/hc/client5/

Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: org/apache/hc/client5/http/config/ConnectionConfig

2024-03-08 09:04:36 452

原创 Lombok导致后端传给前端的字段名大写变小写

spring默认使用的是jackson处理json的序列化和反序列化,@JsonProperty是Jackson的注解,作用在属性上,将属性名称序列化为另一个名称。1.去掉@Data,手动生成get、set方法,生成的get、set方法是这样的,这是idea生成get、set方法的方式。:Lombok的@Data生成的get、set方法会把JavaBean的首字母变成大写。前端页面显示:发现驼峰命名的personId能正确显示,而pName显示不出来。:使用规范驼峰命名,能避免很多问题,一个bug找很久。

2024-01-04 17:18:07 600

原创 MyBatis的基本使用

MyBatis最初是Apache的一个开源项目iBatis,2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github.iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQLMaps和Data Access Objects (DAO)

2023-06-06 11:06:33 233

原创 Spring+JdbcTemplate进行事务管理

事务添加到 JavaEE 三层结构里面Service层(业务逻辑层)在Spring进行事务管理操作有两种方式:编程式事务管理和声明式事务管理(使用)声明式事务管理(1)基于注解方式(使用)(2)基于xml配置文件方式在Spring进行声明式事务管理,底层使用AOP原理Spring事务管理API。提供一个接口PlatformTransactionManager,代表事务管理器,这个接口针对不同的框架提供不同的实现类。

2023-05-11 08:59:51 1092

原创 Spring之JdbcTemplate的使用

JdbcTemplate位于org.springframework.jdbc.core包下,Spring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库操作。如果不想用配置文件,也可以用配置类搭配注解食用,使用配置类替换了xml配置,spring容器要使用:AnnotationConfigApplicationContext。2.调用JdbcTemplate对象里面update方法实现添加操作。添加一条数据,测试结果返回2,查看数据库。查询表里面有多少条记录,返回是某个值。

2023-05-09 14:50:47 522

原创 JDBC的使用

JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,() 使用这些类库可以以一种标准的方法、方便地访问数据库资源。JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题面向应用的APl: Java API,抽象接口,供应用程序开发人员使用( 连接数据库,执行SOL语句,获得结果)。

2023-05-05 17:13:25 207

原创 Filter过滤器

1、Filter 过滤器它是JavaWeb 的三大组件之一。三大组件分别是: Servlet 程序、Listener 监听器、Filter 过滤器2、Filter 过滤器它是JavaEE 的规范。也就是接口3、Filter 过滤器它的作用是: 拦截请求,过滤响应拦截请求常见的应用场景有:1、权限检查2、日记操作3、事务管理。

2023-05-01 00:15:00 65

原创 Servlet

1、Servlet是JavaEE规范之一。规范就是接口2、Servlet 就 JavaWeb 三大组件之一。三大组件分别是: Servlet 程序、Filter 过滤器、Listener监听器。3、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

2023-04-29 04:30:00 61

原创 Cookie和Session

1、Cookie 翻译过来是饼干的意思。2、Cookie 是服务器通知客户端保存键值对的一种技术。3、客户端有了 Cookie 后,每次请求都发送给服务器。4、每个 Cookie 的大小不能超过 4kb1、Session 就一个接口(HttpSession)2、Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。3、每个客户端都有自己的一个 Session 会话。4、session 会话中,我们经常用来保存用户登录之后的信息。

2023-04-26 16:50:46 82

原创 MySQL分组统计个数并计算百分比

参考博客:https://blog.csdn.net/qq_45752401/article/details/125748211。方式一:也是我一开始使用的方式,但如果只对原表操作还好,如果对子查询形成的临时表在进行统计总个数,是怎么也求不出来。业务场景:经常有分组后计算各类型数量及所占百分比的需求,但是分完组后拿不到原来整体的数据。方式三:使用窗口函数sum() over(),推荐这种方式。现在要统计各种爱好的数量及所占百分比。person表结构,一共10条数据。方式二:使用join。

2023-04-20 16:13:36 2470 3

原创 @Configuration

Configuration是Spring3.0以后提供的注解,代替xml配置文件。从源码可以看出,使用了@Component,说明被@Configuration标注的类本身也是组件。

2023-04-12 14:11:19 52

原创 MySQL之DQL

(只要有一行数据count则++)因为每一行记录不可能都为NULL,一行数据中有一列不为NULL,则这行数据就是有效的。having不能单独使用,having不能代替where,having必须和group by联合使用。结论:在一条select语句中,如果有group by语句的话,select后面只能跟:参加分组的字段,以及分组函数,其他的一律不能跟。优化策略:where 和 having,优先选择where,where实在完成不了了,再选择having。NULL只要参与运算,最终结果一定是NULL。

2023-04-06 15:22:51 49

原创 MySQL之事务

一个事务其实就是一个完整的业务逻辑。是一个最小的工作单元,不可再分。比如转账操作,一组操作,要么同时成功,要么同时失败。只有DML语句才会有事务一说,insert,delete,update事务:就是批量的DML语句同时成功,或者同时失败怎么提交事务,怎么回滚事务?​ 提交事务:commit;语句​ 回滚事务:rollback;语句(回滚永远都是只能回滚到上一次的提交点)mysql默认情况下是支持自动提交事务的(每执行一条DML语句,则提交一次)怎么将mysql的自动提交机制关闭掉?

2023-04-06 15:03:00 43

原创 DDL&DML

DDL,Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段)​ update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3…​ insert into 表名(字段名1,字段名2,字段名3…)values(值1,值2,值3);注意:如果提供的日期字符串是这个格式,str_to_date函数就不需要了。​ 表中的数据被删除了,但是这个数据在硬盘上的真实存储空间·不会被释放。,并且获取的时间带有:时分秒信息,是datetime类型的。

2023-04-06 14:32:56 72

原创 Java之IO流

节点流可以从一个特定的数据源读写数据,如处理流(也叫包装流)是“连接”在已存在的流(节点流或处理流)之上,为程序提供更为强大的读写功能,也更加灵活,如属于字符流,是按照字符来读取数据的。关闭时处理流,只需要关闭外层流即可:Reader的子类,可以将InputStream(字节流)包装成(转换)Reader(字符流):Writer的子类,可以将OutputStream(字节流)包装成(转换)Writer(字符流)

2023-04-05 16:24:54 107

原创 Java线程基础

Thread,意为线程,Thread类实现了Runnable接口,重写了里面唯一的run方法,但是里面的run方法由于target属性为null,并没有执行实现了Runnable接口的run方法。这种方式创建线程,需要继承Thread类,然后重写run方法,在run方法里面写上想实现的业务逻辑,这里让其每隔一秒在控制台输出“喵喵叫”,在main方法里实例化Cat对象,调用start方法启动线程。并发:同一个时刻,多个任务交替执行,造成一种“貌似同时”的错觉,简单的说,单核cpu实现的多任务就是并发。

2023-04-03 15:48:14 365

原创 Java中的==、equals和hashCode

原因在于HashSet是先根据对象的hashcode生成存储数据表table的索引,看该索引位置上有没有值,没有就直接加入,有就调用对象的equals方法进行比较,如果比较结果相同,就插入不了,如果不相同,就添加到最后。上面的Person类中只重写了equals方法,HashSet中存入了两个name值相同的Person对象,我们期待name值相同,就认定是相同的对象,那为什么用HashSet存储没有出现我们期待的结果呢?默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。

2023-03-30 11:59:46 82

原创 Java中的数据类型

java数据类型分为两大类:基本数据类型和引用数据类型基本数据类型有8种:byte【字节】、short【短整型】、int【整型】、long【长整型】、float【单精度】、double【双精度】、char【字符型】、boolean【布尔类型】引用数据类型有类、接口和数组类型占用存储空间范围byte1字节-128 ~ 127short2字节int4字节long8字节float4字节double8字节char2字节默认使用Unicode编码,0 ~ 2^16-1。

2023-03-27 16:24:13 44

原创 枚举类—enum

枚举对应英文(enumeration,简写 enum),枚举是一组常量的集合。枚举属于一种特殊的类,里面只包含一组有限的特定的对象。

2023-03-25 14:06:37 50

原创 设计模式之模板模式

可以定义一个抽象父类Template,在父类里面定义一个calculateTime方法,然后声明一个抽象的job方法,在calculateTime方法里调用job方法,让A类和B类继承Template类,各自实现不同的计算方法job,这样就完美解决了问题。由于这些方法是抽象方法,所以只查看父类的代码是无法知道这些方法最终会进行何种具体处理的,唯一能知道的就是父类是如何调用这些方法的。也就是说,只要在不同的子类中实现不同的具体处理,当父类的模板方法被调用时程序行为也会不同。—— 《图解设计模式》

2023-03-24 16:23:58 39

原创 Spring之AOP

/方法调用时传入的参数 Object target = joinPoint . getTarget();//被代理对象 MethodSignature signature =(MethodSignature) joinPoint . getSignature();//获取被被增强方法签名封装的对象 Method method = signature . getMethod();System . out . println("Before方法被调用了");

2023-03-20 16:50:00 108

原创 Spring之IOC(注解配置)

注:上述4个注解都是加到类上的。他们都可以起到类似bean标签的作用。可以把加了该注解类的对象放入Spring容器中实际再使用时选择任意一个都可以。但是后3个注解是语义化注解。如果是Service类,要求使用@Service。如果是Dao类,要求使用@Repository如果是Controller类,要求使用@Controller如果是其他类可以使用@Component。

2023-03-18 22:16:15 114

原创 Spring之IOC(xml配置)

IOC( Inversion of Control ),控制反转,也叫依赖注入DI(dependency injection),是Spring框架Core模块提供的核心功能。“控制反转”:对象A运行需要对象B,由主动创建变为IOC容器注入,这便是控制反转。“依赖注入”:获得依赖对象的过程被反转了,获取依赖对象的过程由自身创建变为由IOC容器注入,这便是依赖注入。

2023-03-18 15:14:37 276

原创 Java位运算符

a 补码: 11111111 11111111 11111111 11111111 负数的补码等于反码+1,反过来负数的反码等于补码-1。b 补码: 00000000 00000000 00000000 00000001 正数的原码,反码,补码都是它自己。位运算符包括以下7种。a&b 补码: 00000000 00000000 00000000 00000000。a 补码: 00000000 00000000 00000000 00000010。

2023-03-16 20:44:46 102

原创 逻辑运算符

& 和 &,都是同真为真,有一个假则为假,区别就在于:&& 如果前面结果为假,不会再执行后面的判断;& 不论前面结果是否为假,还会执行后面的判断,效率比较低,所以工作中常用的是短路与&&。|| 和 |,都是有一个真则为真,否则为假,区别就在于:|| 不论前面结果是否为真,还会执行后面的判断。参与逻辑运算的都是布尔类型,即要么是true,要么是false,运算结果也是布尔类型。下面我们来看一下运算规则,假设a,b都是布尔类型。

2023-03-15 22:24:37 27

原创 Nacos报错,failed to req API:/nacos/v1/ns/instance after all servers([localhost:8848]) tried: failed to

Nacos报错,failed to req API:/nacos/v1/ns/service/list after all servers([localhost:8848]) tried: failed to req API:localhost:8848/nacos/v1/ns/service/list. code:500 msg: java.net.ConnectException: Connection refused: connect

2023-03-09 10:49:34 2291

原创 Nacos

Nacos服务注册、服务配置、持久化配置、集群环境搭建

2023-03-07 11:10:55 170 1

空空如也

空空如也

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

TA关注的人

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