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

原创 Sa-Token如何配置以及应用案例,如何进行登录认证
Sa-TokenSa-Token登录认证权限认证单点登录OAuth2.0分布式Session会话微服务网关鉴权等一系列权限相关问题。用户提交namepassword参数,调用登录接口。登录成功,返回这个用户的 Token 会话凭证。用户后续的每次请求,都携带上这个 Token。服务器根据 Token 判断此会话是否登录成功。
2025-05-27 10:58:40
1011

原创 SpringBoot程序的创建以及特点,配置文件,LogBack记录日志,配置过滤器、拦截器、全局异常
在之前写过一篇如何创建SpringBoot程序,两种方式,方法1:通过maven创建SpringBoot项目方法2:使用Spring Initialzr创建一个SpringBoot项目(缺点:当创建项目时网络中断,会导致程序有部分缺失,并且在程序初始加载的时候不会报错,在后续的项目进程中可能会无法发现报错的原因)
2025-04-26 21:31:47
1164

原创 SSM(SpringMVC+spring+mybatis)整合的步骤以及相关依赖
lombok可用于生成实体类的get和set方法,这样在类的上方打上@Setter和@Getter注解就可以为属性实现get和set方法,注意:万万不可导错包,应为lombok.getter。需要的依赖是与Spring、SpringMVC、Mybatis(包含JDBC和数据库连接相关的依赖)相关,这样我们就可以做一个联想,思路更加清晰。程序在加载这个类的过程中,会一同加载Spring的配置类以及SpringMvc的配置类。指定需要加载的JDBC以及Mybatis的配置文件(@Import注解)
2025-04-20 19:21:55
1142

原创 MAVEN--Maven的生命周期,pom.xml详解,Maven的高级特性(模块化、聚合、依赖管理)
这时就可以使用<modules>标签将这些工程统一聚合到maven工程中,需要打包的时候,只需要在此工程中执行一次打包命令,其下被聚合的工程就都会被打包了。当使用Maven创建项目时,引入第三方jar包,对于jar包我们要对他设置它的作用范围,可以通过Maven的设置,来管理这些范围,就是让jar包在哪个环节(项目的生命周期中:编译、测试、打包)生效。生命周期包含了项目清理,初始化,编译,测试,打包,集成测试,验证,部署和站点生成等。第二步 :在依赖的<version>中使用${}引入前面定义好的版本。
2024-12-11 23:42:25
1460

原创 Vue指令(一)--v-html、v-show、v-if、v-else、v-else-if、v-on、v-bind、v-for、v-model
我是v-show控制的盒子我是v-if控制的盒子
2024-12-07 14:57:34
1415

原创 SpringBoot--Bean对象管理(Bean对象扫描、Bean对象注册、注册条件)
目录(一)Bean扫描 1.通常用来扫描包的方法2.在SpringBoot中如何扫描 (二)Bean对象的注册案例测试: 准备工作: 1.安装一个jar包:编辑编辑 2.将刚才安装好的坐标引入进来: @Bean1.在启动类中添加(不推荐) 2.定义一个配置类 @Import1.导入配置类2.导入ImportSelector接口实现类 3.使用@EnableXxx注解,来封装@Import注解 (三)注册条件@ConditionalOnProperty @ConditionalOnMissingBean@
2024-11-13 09:37:27
1634
1

原创 mysql--多表查询
作用:合并结果集就是把两个select语句的查询结果合并到一起!合并结果集有两种方式:UNION:合并并去除重复记录,例如:SELECT * FROM t1UNIONUNION ALL:合并但不去除重复记录,例如:SELECT * FROM t1UNION ALL。
2024-11-03 22:59:42
3940
2
原创 解决MySql8报错:Public Key Retrieval is not allowed
该错误 com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed 是由于 MySQL 8.x 使用了新的默认身份验证插件 caching_sha2_password,而客户端没有允许从服务器获取公钥进行身份验证。
2025-07-12 14:53:09
655
原创 注册并创建一个微信小程序
点击创建,就可以出现呢整个项目的视图,在修改代码时,小程序的界面也会随着改变。小程序后台-->开发与服务-->开发管理-->注意:微信开发者工具必须联网才可以使用。之后的流程填写自己的个人信息即可。
2025-05-23 14:56:32
736
原创 Vue3指令(二)--v-text、v-html数据渲染,计算属性
定义了两个数据x和y,设计add()相加函数,在函数中让x和y相加,他是实施执行的,在控制台能够看到被执行的次数,而sub则是一个计算属性,不同的是。正常情况下函数的执⾏是及时的,被调⽤就会执⾏;⽽计算属性是有缓存的,计算属性根据其依赖的响 应式数据变化⽽重新计算。可能有人要问,为什么sub被调用了两次,但是控制台只显示一次呢?计算属性值会基于其响应式依赖被缓存。①v-html能够解析出网址格式。因为sub为计算属性,有缓存。
2025-05-14 15:42:15
790
原创 “爱生活”小项目问题总结
定义的imagesList在数据库中没有这个字段,而MyBatis Plus 会尝试将实体类中所有非空字段映射到数据库表字段,当他发现数据库中没有这个字段时就会报这个错,并且在业务逻辑类中调用了方法dynamic.setImageList(imageUrls);
2025-05-11 14:28:50
1068
原创 Java反射
反射是一种允许程序在运行时动态获取和操作其自身的结构的能力。通过反射,程序员可以在运行期间检查类、方法、属性以及其他成员的信息,并能够调用这些成员或修改它们的行为。即可以在程序运行时,获取任意类的名称、package信息、所有属性、方法、注解、类型、类加载器等,获取任意对象的属性,并且能改变对象的属性,调用任意对象的方法。反射是AOP实现的基础技术之一,它使得AOP框架能够:在运行时动态创建代理对象获取和分析目标方法的元数据动态调用目标方法和通知逻辑实现非侵入式的横切关注点。
2025-04-28 09:03:25
661
原创 使用注解方式整合ssm时,启动tomcat扫描不到resource下面的xxxmapper.xml问题,解决方法
在Spring与Mybatis整合时,可能会遇到这样的报错。
2025-04-17 14:59:39
442
原创 牛客网刷题SQL--多表查询
321这2个用户,但是在question_practice_detail表只有1个用户(device_id=3214有答题,device_id=4321没有答题,不计入后续计算)有2条答题记录,且答题题目是112,113各1个,从question_detail可以知道题目难度分别是medium和easy,故 复旦大学的用户答题为easy, medium的题目平均答题量都为1(easy=1或medium=1) /1 (device_id=3214)=1.0000。
2024-12-13 19:19:55
1244
原创 牛客网刷题SQL--高级查询
题目:运营想要知道复旦大学学生gpa最高值是多少,请你取出相应数据根据输入,你的查询应返回以下结果,结果保留到小数点后面1位。
2024-12-11 17:48:04
1099
原创 牛客网刷题SQL--条件查询
题目:现在运营想要筛选出所有北京大学的学生进行用户调研,请你从用户信息表中取出满足条件的数据,结果返回设备id和学校。示例:user_profile。
2024-12-10 19:44:50
1213
原创 Ajax--实现检测用户名是否存在功能
Ajax(Asynchronous Javascript And XML) 翻译成中文就是“异步JavaScript和XML”,即使用JavaScript与服务器进行异步交互,传输的数据为XML。AJAX还可以在浏览器实现局部刷新的效果,即不需要刷新整个页面,就比如之前的案例:验证码,这一特点给用户的感受是在不知不觉中完成请求和响应过程。
2024-12-09 23:06:54
1048
原创 JavaWeb学习--请求(request)与响应(response)之HttpServletRequest对象,域对象(重要),请求转发与重定向(重要),常见状态码
如果在AServlet中请求转发到BServlet,那么在AServlet中就不允许再输出响应体,即不能再使用response.getWriter()和response.getOutputStream()向客户端输出,这一工作应该由BServlet来完成;如果是使用请求包含,那么没有这个限制;请求转发虽然不能输出响应体,但还是可以设置响应头的,例如:response.setContentType(”text/html;请求请求大多是应用在Servlet中,转发目标大多是JSP页面;
2024-12-09 16:56:26
1196
原创 JavaWeb学习--Servlet的创建方法、Servlet的生命周期(重要)
Servlet是JavaWeb的 三大组件之一 ,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:接收请求数据;处理请求;完成响应。WEB开发,客户端与服务器: 一问一答 请求-响应例如客户端发出登录请求,或者输出注册请求,这些请求都应该由Servlet来完成处理!Servlet需要我们自己来编写,每个Servlet必须实现javax.servlet.Servlet接口。
2024-12-08 15:47:30
972
原创 JavaWeb学习--Session、实现注销、EL表达式
当首次使用session时,服务器端要创建session,session是保存在服务器端,而给客户端的session的id(一个cookie中保存了sessionId)。调用这个方法会被session失效,当session失效后,客户端再次请求,服务器会给客户端创建一个新的session,并在响应中给客户端新session的sessionId;当我首次去银行时,因为还没有账号,所以需要开一个账号,我获得的是银行卡,而银行这边的数据库中留下了我的账号,我的钱是保存在银行的账号中,而我带走的是我的卡号。
2024-12-06 21:39:12
1081
原创 JavaWeb学习--cookie和session,实现登录的记住我和验证码功能
Cookie翻译成中文是小甜点,小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对。客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。
2024-12-06 19:56:28
1400
原创 Jdbc学习笔记(五)--Dao模式
DAO(Data Access Object)模式就是写一个类,把访问数据库的代码封装起来。DAO在数据库与业务逻辑(Service)之间。实体域,即操作的对象,例如我们操作的表是user表,那么就需要先写一个User类;DAO模式需要先提供一个DAO接口;然后再提供一个DAO接口的实现类再编写一个DAO工厂,Service通过工厂来获取DAO实现。1.分层思维web层:处理请求的类,有框架。
2024-11-16 16:20:38
936
原创 JDBC学习笔记(四)--JdbcUtil工具类的底层实现、解决 java.sql.SQLException: Operation not allowed after ResultSet closed
解决方案:封装思维配置文件。
2024-11-16 15:44:03
945
原创 Jdbc学习笔记(三)--PreparedStatement对象、sql攻击(安全问题)
在需要用户输入的地方,用户输入的是SQL语句的片段,最终用户输入的SQL片段与我们DAO中写的SQL语句合成一个完整的SQL语句!例如用户在登录时输入的用户名和密码都是为SQL语句的片段!所以,建议大家在今后的开发中,无论什么情况,都去需要PreparedStatement,而不是使用Statement。
2024-11-14 20:40:34
1020
原创 Jdbc学习笔记(二)核心API--ResultSet
ResultSet默认只能往下移ResultSet表示结果集,它是一个二维的表格!ResultSet内部维护一个行光标(游标),ResultSet提供了一系列的方法来移动游标:void beforeFirst():把光标放到第一行的前面,这也是光标默认的位置, 默认的结果集是无效的;void afterLast():把光标放到最后一行的后面, 默认的结果集是无效的;boolean first():把光标放到第一行的位置上,返回值表示调控光标是否成功, 默认的结果集是无效的;
2024-11-13 11:57:51
904
原创 MYSQL学习笔记(二)--认识索引、使用索引、索引失效
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足 特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。sql查询优化慢sql(用户堆积,sql执行时间过长): 使用索引提高查询效率面试高频。
2024-11-07 23:50:13
702
原创 JDBC学习笔记(一)--入门、使用jdbc执行sql语句
JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。
2024-11-07 16:31:15
1050
原创 mysql学习笔记(一)--DDL语句
utf8mb4_unicode_ci:是基于标准的Unicode来排序和⽐较,能够在各种语⾔之间精确排序,Unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。utf8_general_ci校对规则进⾏的⽐较速度很快,但是与使用 utf8mb4_unicode_ci的校对规则相比,比较正确性较差。utf8mb4_general_ci是⼀个遗留的 校对规则,不⽀持扩展,它仅能够在字符之间进⾏逐个⽐较。2). 性别 gender ---------> 存储值, 不是男,就是女。
2024-11-03 23:07:16
617
原创 MYSQL--完整性约束
左侧的emp表是员工表,里面存储员工的基本信息,包含员工的ID、姓名、年龄、职位、薪资、入职日期、上级主管ID、部门ID,在员工的信息中存储的是部门的ID dept_id,而这个部门的ID是关联的部门表dept的主键id,那emp表的dept_id就是外键,关联的是另一张表的主键。外键是另一张表的主键!例如员工表与部门表之间就存在关联关系,其中员工表中的部门编号字段就是外键,是相对部门表的外键。创建学生表:id(唯一 不能为空),name(非空),sex(默认值 男),age,email(唯一)
2024-10-31 23:41:03
1720
2
原创 MYSQL--数据库备份和还原
在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。使用mysql自带的命令:备份(导出):不需要登录mysqlmysqldump-u用户名 -p密码 数据库名>生成的脚本文件路径现在可以在C盘下找到mydb1.sql文件了!注意,mysqldump命令是在Windows控制台下执行,无需登录mysql!!!
2024-10-31 19:27:25
262
原创 Java项目--实现一个小说在线阅读系统
整合了之前学过的知识,有复习的效果增加了写项目的经验,对这部分有了一定的认识这个系统还有很多未完善的部分,希望有好心人能提出意见,让我多多完善,也能多增加几个功能^_^!!!
2024-10-30 23:22:59
1497
原创 SpringBoot配置文件--properties配置文件、yml配置文件
通过两个格式的对比,可以看出yml文件格式更加清晰yml相同的层级只需要写一次就行了,有缩进,层级表示更清晰yml更加关注数据值前边必须有空格,作为分隔符使用空格作为缩进表示层级关系,相同的层级左侧对齐。
2024-10-30 11:10:12
822
原创 SpringBoot--入门、创建一个SpringBoot项目、测试
设置maven的路径以及本地仓库文件,第二个选项用系统的默认的就可以,不用改。:中间添加的是本地仓库的路径,就是前面创建好的文件夹路径。接下来就可以创建一个新的包,来测试配置的是否准确^_^,新建一个环境变量%MAVEN_HOME%\bin。接下来,点击Apply,然后OK,就成功了!:使用Maven需要先安装好Java环境。三个地方配置完毕后,保存即可。标签,在里面添加以下代码,
2024-10-29 23:55:17
1491
原创 Vue--快速上手
概念:Vue (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架Vue.js基于数据渲染出用户可以看到的界面所谓渐进式就是循序渐进,不一定非得把Vue中的所有API都学完才能开发Vue,可以学一点开发一点。所谓框架:就是一套完整的解决方案举个栗子如果把一个完整的项目比喻为一个装修好的房子,那么框架就是一个毛坯房。我们只需要在“毛坯房”的基础上,增加功能代码即可。提到框架,不得不提一下库。库,类似工具箱,是一堆方法的集合,比如 axios、lodash、echarts等。
2024-10-20 16:31:29
1782
原创 Java多线程--模拟龟兔赛跑
在这种方式下,可以多个线程共享同一个目标对象,所以非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想。(2)在Thread类有Thread.sleep()方法,来控制兔子的睡眠时间,可以尝试使用不同的睡眠时间来让乌龟赢还是兔子赢。System.out.println("兔子跑完" + i + "米");System.out.println("乌龟跑完"+i+"米");System.out.println("我的线程...");
2024-10-17 23:16:58
1604
3
原创 Java网络通信--服务端与客服端通信(一对一,一对多)读写分离
UDP在传输数据时不会对数据的完整性进行验证,在数据丢失或数据出错时也不会要求重新传输,因此也节省了很多用于验证数据包的时间,所以以UDP建立的连接的延迟会比以TCP建立的连接的延迟更低。当数据的一个部分被接收完毕之后,服务端会对这一部分的完整性和准确性进行校验,校验之后如果数据的完整度和准确度都为100%,在服务端会要求客户端开始数据下一个部分的传输,如果数据的完整性和准确性与原来不相符,那么服务端会要求客户端再次传输这个部分。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;
2024-10-17 21:09:08
745
原创 Java--dom4j解析xml、读取xml文件
Dom4j是一个开源的 XML 解析框架,它基于 Java 的sax 解析器和jaxp 解析器开发,提供了灵活简便、性能优良、扩展性强的 XML 解析和生成功能。Dom4J通过SAXReader对象加载并解析xml文件,把它转换为内存中的Document对象,接着对Document对象中的元素进行添加、更新和删除操作,并且通过XMLWriter对象把修改后的Document对象保存到xml文件中。
2024-10-16 15:27:24
2097
原创 JavaWeb(实训八)--11章 数据库连接池与DBUtils工具
为了更加简单地使用JDBC,Apache 组织提供了一个DBUtils 工具,它是操作数据库的一个组件,实现 了对JDBC的简单封装,可以在不影响数据库访问性能的情况下简化JDBC的编码工作量。DBUtils工具要有 三个作用。写数据。读数据优化性能。
2024-10-14 15:31:36
1415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人