- 博客(47)
- 收藏
- 关注
原创 MyBatis框架入门:ORM持久层实战指南
mybatis是一个半自动化的持久层框架mybatis封装了jdbc的很多细节,开发者只需要关注sql本身,无需关注注册驱动 获取连接等操作mybatis使用ORM思想来对结果集一个封装优点简单易学:基于 SQL 编程,比 Hibernate 更易上手。减少样板代码:自动管理 JDBC 连接,无需手动开关。数据库兼容性强:只要 JDBC 支持(即有对应 Java 驱动),MyBatis 就支持。生态丰富:支持多种第三方插件(如分页、逆向工程)。无缝集成 Spring:与 Spring 框架良好整合。
2025-12-14 17:38:01
701
原创 SpringMVC入门指南
什么是SpringMvc:Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。它可以通过一套注解,让一个简单的Java类成为控制器,而无须实现任何接口。简单一句话:SpringMVC简化Servlet的开发!!请求重定向 return "redirect:/路径/完整资源名"// 请求重定向// or// 页面重定向请求转发 return "forward:/路径/完整资源名"// 请求转发// or// 页面转发特性。
2025-12-10 08:03:42
859
原创 Vue基础
钩子典型用途created发起网络请求、初始化数据mounted操作 DOM、集成第三方库清理资源(定时器、监听器)updated调试 DOM 更新(慎用)
2025-11-25 20:29:17
719
原创 Maven入门指南:构建与管理Java项目
Maven 是一个用于 Java 项目的构建和依赖管理工具。它通过pom.xml文件自动下载所需 jar 包、统一项目结构,并提供标准化命令(如编译、打包、测试)来简化开发流程。
2025-11-24 21:07:00
1612
原创 会话跟踪技术:Cookie与Session
用户打开浏览器访问 Web 服务器资源时建立会话,直到一方断开连接为止。一次会话中可包含。: 一种维护浏览器状态的技术,使服务器能识别多次请求是否来自同一浏览器,从而在。✅ 目的:解决 HTTP 协议无状态的问题,实现用户状态的持续管理(如登录保持、购物车等)。
2025-11-24 17:11:48
758
原创 Filter & Listener
概念: Filter 表示过滤器,是 JavaWeb 三大组件之一(Servlet、Filter、Listener)。作用: 过滤器可以拦截对资源的请求,在请求到达目标资源前或响应返回客户端前执行特定逻辑,从而实现一些特殊功能(如登录校验、字符编码设置、日志记录等)。一般完成一些通用的操作,比如:权限管理,统一编码,敏感字符处理...Listener 表示监听器,是 JavaWeb 三大组件之一(Servlet、Filter、Listener)。监听器用于监听sessionrequest。
2025-11-24 15:58:15
707
原创 Servlet核心技术
目录Servlet快速入门Servlet 执行流程Servlet 的生命周期Servlet 核心方法说明Servlet 体系结构Servlet 的 URL 映射配置XML 配置方式编写 ServletRequestRequest 体系结构Request 获取请求数据Request 请求转发ResponseResponse 体系结构Response 设置响应数据Response 完成重定向路径问题Response 响应字符数据Response 响应字节数据servlet是Java提供的一种开发动态web资源技
2025-11-24 15:04:37
992
原创 Web请求乱码解决方案
/ 此时是乱码(ISO-8859-1 编码)或过滤器中统一设置 request/response 编码(避免每个 Servlet 重复写)。✅ 配置后,所有 GET 请求参数将自动按 UTF-8 解码,无需代码处理。// 先用 ISO-8859-1 获取原始字节,再用 UTF-8 重新解码。即使请求参数正确,如果响应未设置编码,返回给浏览器的中文仍可能乱码。解码请求体(request body),导致中文乱码。// 方式1:设置字符流编码(推荐用于文本)// 方式2:单独设置字符编码(较少用)
2025-11-24 12:51:49
292
原创 Tomcat
指 Java 企业级开发的技术规范总和,包含 13 项技术规范: JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF。Web 服务器是一个应用程序(软件),对 HTTP 协议的操作进行封装,使得程序员不必直接对协议进行操作,让 Web 开发更加便捷。: Tomcat 是 Apache 软件基金会的一个核心项目,是一个开源免费的轻量级 Web 服务器,支持 Servlet/JSP,符合少量 JavaEE 规范。
2025-11-23 20:19:30
1082
1
原创 HTML + CSS
<div>等标签定义内容结构浏览器读取 HTML 文件后,将其渲染成你看到的网页不是编程语言,无需担心“逻辑复杂”一个最简单的 HTML 页面:<html><head><title>我的第一个网页</title></head><body><h1>欢迎来到我的网站!</h1><p>这是一个段落。
2025-11-23 18:03:05
810
原创 远程连接MySQL的5个关键条件
bind-address = 0.0.0.0 # ← 关键!port = 3306 # 默认端口(可省略)ip addr show # 或 hostname -I。🔒 安全建议:可限制只允许物理机 IP 访问。-- 确认存在 remote_user@%-- 授予特定数据库权限(按需调整)要成功远程连接,必须同时满足以下。-- 创建用户(% 表示任意主机),确保与物理机在同一局域网。-- 应显示 0.0.0.0。ping 虚拟机IP。ping 虚拟机IP。
2025-11-21 17:55:50
406
原创 CentOS7安装MySQL8.0完整指南
问题原因解决方案CentOS 7 已 EOL,官方源下线切换为阿里云归档源pkgconfig(openssl) 被 mysql-community-devel 需要缺少 OpenSSL 开发库安装mariadb-libs 被 mysql-community-libs 取代包冲突用自动替换,不要手动卸载权限不足Shell 重定向不受 sudo 控制改用sudo tee或首次登录需改临时密码执行ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
2025-11-21 17:20:55
470
原创 Java数据库连接JDBC
JDBC是Java Database Connectivity的缩写,是一种用于Java程序访问关系型数据库的API接口DriverManager(驱动管理类):注册驱动,加载适当的数据库驱动程序,获取数据库连接Connection(数据库连接对象):获取执行SQL的对象,管理事务管理事务开启事务:setAutoCommit(boolean autoCommit); 参数为false,则开启事务。提交事务:commit();回滚事务:rollback();Statement(执行SQL语句)执行DML语句:
2025-11-21 09:09:14
256
原创 MySQL基础
MySQL 支持用户自定义函数(User Defined Function, UDF),但需注意以下几点:需要拥有权限;函数必须有明确的返回值;在定义函数体时,通常需要临时修改语句结束符(使用DELIMITER),以避免与函数内部的;冲突。示例:创建一个计算平方的函数RETURNS INT -- `RETURNS INT`:指定函数返回整数类型;READS SQL DATA -- `READS SQL DATA`:声明该函数会读取数据但不修改数据。
2025-11-20 16:24:33
1659
原创 第四章:进程同步
主要任务:使程序的执行具有可再现性进程间的制约关系间接相互制约关系(互斥关系)直接相互制约关系(同步关系)同步机制应遵循的准则空闲让进:当无进程处于临界区,应允许一个请求进入临界区的进程立即进入自己的临界区忙则等待:已有进程处于其临界区,其它试图进入临界区的进程必须等待;有限等待:等待进入临界区的进程不能"死等";让权等待:不能进入临界区的进程,应释放CPU(如转换到阻塞状态)软件同步机制是用来协调多个进程或线程对共享资源的访问,防止它们同时修改数据导致错误(比如两个人同时改同一个文件,结果乱了)。软件同步
2025-11-10 11:19:31
828
原创 第三章:处理机调度与死锁
高级调度:硬件到内存之间的调度,将外存上处于后备队列中的作业调入内存,也称为作业调度低级调度:内存到CPU之间的调度,决定就绪队列中的哪个进程应获得处理机,也称为进程调度中级调度:根据优先级,外存上的急需运行的进程调入内存运行,也称为内存调度调度程序分为三部分(进程调度的机制)排队器:用于将就绪进程插入相应的就绪队列分派器:用于将选定的进程移出就绪队列上下文切换器:进行新旧进程之间的上下文切换系统可以“打断”正在用CPU的进程,比如来了更紧急的任务,或者它用太久了,就把它暂停,让别人先用。
2025-11-09 16:24:04
563
原创 第一章:操作系统引论
配置了OS,可以使用编译命令将用户采用的高级语言编写的程序翻译成机器代码:提高系统资源的利用率,提高系统的吞吐量:能够方便的添加新的功能和模块,以及对原有功能和模块进行修改:遵循国际标准,凡遵循国际标准而开发的硬件和软件都能彼此兼容。
2025-11-08 16:17:51
415
原创 Spring
Spring : 春天 —>给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术。
2024-05-23 20:37:22
1039
1
原创 IO流入门
按照方向进行分类:输入流 输出流(相对于程序而言,从程序写数据到文件中是输出)按照传输类型进行分类:字节流 字符流组合: 字节输入流 字节输出流 字符输入流 字符输出流。
2024-04-09 11:03:30
742
原创 反射基础入门
而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.Student student = (Student) con4.newInstance("张三", 18);// 第一种方式 Class.forName("全类名") Chapter08.Student 最常用。Student S = new Student("zhangsan",23,"男");// 第三种方式 对象.getClass() 当有了这个类的对象时,才能够使用。// 1. 获取Class对象。
2024-04-07 22:50:13
1705
原创 Java多线程
每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位):同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是CPU调度的最小单位):线程开始并不一定立即执行,有CPU调度执行线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。多进程是指操作系统能同时运行多个任务(程序)。多线程是指在同一程序中有多个顺序流在执行。常用方法sleep(): 强迫一个线程睡眠N毫秒。
2024-04-07 20:45:00
859
1
原创 集合入门到进阶
3).如果算出的位置已经有元素,调用equalsf方法比较属性值,如果属性值一样不存入数据,如 果不一样,形成链表(8-之前,新元素存入数组,老元素挂在新元素下,8+之后,老元素存 入数组,新元素挂在老元素下)哈希表组成------------ jdk8- 数组+链表 jdk8+ 数组+链表+红黑树。//3. remove 删除对象 存在?第一个元素的内部会记录第二个元素的地址值,第二个元素的内部会记录第一个元素的地址值。Set系列集合:添加的元素是无序(存数据和取数据的顺序)、不重复、无索引。
2024-03-23 14:57:53
1917
1
原创 Java面向对象(下)
这是因为Lamdba表达式是基于函数式接口实现的,所谓函数式接口是指有且仅有一个抽象方法的接口,Lambda表达式就是Java中函数式编程的体现,只有确保接口中有且仅有一个抽象方法,Lambda表达式才能顺利地推导出所实现的这个接口中的方法。在JDK 8中,专门为函数式接口引入了一个@FunctionalInterface注解,该注解只是显示的标注了接口是一个函数式接口,并强制编辑器进行更严格的检查,确保该接口是函数式接口,如果不是函数式接口,那么编译器就会报错,而对程序运行并没有实质上的影响,
2024-01-01 22:17:14
1616
原创 SpringBoot+MyBatis-Plus实现CRUD
这个错误表示在处理请求时,出现了一个递归调用的无限循环,导致栈溢出。在impl中的方法实现类内,定义方法时,如果方法名和内部使用的方法名相同时,会出现递归调用,修改方法:修改两方法名中的一个。
2023-11-14 15:50:49
523
1
原创 Java面向对象(上)
面向对象则是把构成问题的事务按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。一个应用程序会包含多个对象,通过多个对象的相互配合即可实现应用程序所需的功能,这样当应用程序功能发生变动时,只需要修改个别的对象就可以了,这使得代码更容易得到维护。1.类的定义格式Java中的类是通过class关键字来定义的,其语法格式如下:[修饰符] class 类名 [extends 父类名] [implements 接口名]{// 类体,包括类的成员变量和成员方法2.声明(定义)成员变量。
2023-11-12 15:45:59
213
原创 Java线程池
原理: 先创建线程对象(n)放到线程池中,当来的资源数(m)大于 线程数时,后面的(m-n)个资源放到等待队列(也有长度限制) 里面,当等待队列也满时,再来资源线程池会启动应急处理,创建 新的线程对象,当创建的线程对象为线程池最大限制时,再来的资 源会被拒绝,,当线程请求量不大时,创建的线程对象会被关闭, (存活时间)当线程数 > 最大线程容量 + 等候队列最大容量 (9 > 5 + 3)可以控制最大的并发数(设置线程池的参数来确定线程池的容量)线程池、字符串常量池、数据库连接池。1、手动创建线程对象。
2023-11-11 21:28:49
102
1
原创 Java中的数组
数组的定义有三种方式,其基本语法格式如下:数组类型[] 数组名 = new 数组类型[数组长度];数组类型[] 数组名 = new 数组类型[]{数组元素0,数组元素1,...};数组类型[] 数组名 = {数组元素0,数组元素1,...};第一种方式定义了一个int[]数组类型的变量ids,使用new int[100]指定了该数组的长度(也就是元素的个数)为100,但并没有为数组中的元素赋值;
2023-11-07 21:24:41
104
原创 Java语句结构
当循环条件为true时,循环体就会执行,循环体执行完毕时,程序会继续判断循环条件是否成立,如条件仍为true则会继续执行循环体,直到循环条件为false时,整个循环过程才会结束。其中外层循环每执行一轮,都要执行完内层循环中的整个for循环,然后执行外层循环第二轮,接着再执行完内层循环中的整个for循环,以此类推,直至外层循环的循环条件不成立,才会跳出整个嵌套for循环。”分隔,{}中的执行语句为循环体。当判断条件为true时,会执行if后面{}中的执行语句1,否则会执行else后面{}中的执行语句2。
2023-11-07 17:19:08
205
原创 Java中的运算符
上述条件运算符的运算规则是:先对布尔类型的表达式boolean_expr求值,如果结果为true,就执行冒号“:”前面的表达式true_statement,否者执行后面的表达式false_statement。对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,通常把这种顺序称作运算符的优先级。Java中的算术运算符就是用来处理四则运算的符号,这是最简单、最常用的运算符号。位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的。
2023-11-07 17:04:10
93
原创 进制间的转换
二进制转换成十进制要从右到左用二进制位上的每个数去乘以2的相应次方,例如,将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次方,第n位的数乘以2的n-1次方,然后把所有乘得的结果相加,得到的结果就是转换后的十进制。二进制转八进制时,首先需要将二进制数自右向左每三位分成一段(不足三位的,在左侧补0),然后将二进制数每段的三位数转为八进制的一位,转换过程中数值的对应关系如表1所示。把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。以十进制的6转换为二进制为例进行说明,如图1所示。
2023-11-07 16:49:45
203
原创 Java基本语法
需要注意的是,在程序中为了标明不同的进制,数据都有特定的标识,八进制必须以0开头,如:0711、0123;同理,将取值范围大的数据类型的变量值赋值给取值范围小的数据类型的变量时,就可能造成数据的丢失,所以系统默认不支持这种行为,只能由开发者自己决定是否进行强制类型转换。● 十六进制:以0x或者0X开头,并且其后由0~9、A~F(包括0和9、A和F)组成的字符序列,如:0x25AF。同样,在Java中,将取值范围小的数据类型的变量值赋值给取值范围大的数据类型的变量时,程序也不会出现任何问题。
2023-11-07 16:37:29
121
原创 JDK的使用
由于普通用户只需要运行事先编写好的Java程序,不需要自己动手编写,因此JRE工具中只包含Java运行工具,不包含Java编译工具。Sun公司提供了一套Java开发环境,简称JDK(Java Development Kit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。● jre目录:此目录是Java运行时环境的根目录,它包含Java虚拟机,运行时的类包、Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。
2023-11-07 15:47:42
247
原创 产品经理入门
1、工具使用能力:Axure、摹客、Xmind、Photoshop等;2、文档写作能力:需求文档、操作文档、竞品分析文档等;问题:业务分析,文献分析,头脑风暴,竞品分析,数据分析。用户:观察法,用户反馈,用户访谈,问卷调查,切身感受。从人性出发,需求驱动,推导产品解决方案,多体验产品。3、逻辑思维能力:业务流程图、页面流程图等;4、沟通能力:跟UI、开发等部门的沟通能力;3.产品开发,规划、设计、开发、测试、上线。一手:更准确,效率低 二手:效率高,易曲解。1.捆绑式:利用人性心理,办会员,买套餐。
2023-11-05 21:02:57
191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅