- 博客(89)
- 收藏
- 关注
原创 12 MyBatis的连接池
如果没有连接池,那么每次都执行SQL语句都会创建connection连接,会浪费时间。MyBatis内置了连接池技术,dataSource标签的type属性有3个取值。
2025-12-16 22:03:56
125
原创 1 验证码
本文介绍了验证码系统的设计与实现方案。系统采用Redis存储验证码数据,通过GET/captcha接口返回包含UUID、Base64图片和验证码文本的JSON响应。技术选型上,对比了数据库、Cookie和Session存储方案,最终选用Redis因其高性能、自动过期和分布式支持等优势。实现中整合了SpecCaptcha生成验证码图片,Hutool工具包生成UUID,以及SpringDataRedis的RedisTemplate进行数据存储。系统通过yml配置Redis连接,使用Result类统一响应格式,验
2025-12-16 11:20:48
946
原创 7 RESTful 规范
RESTful规范是企业开发中主流的API设计风格,其核心是"资源+操作"分离:URL表示资源(如/cart/items),HTTP方法表示操作(GET查、POST增、DELETE删)。主要规则包括:URL只写资源不用动词、用HTTP方法区分操作、路径参数表示单个资源(如/cart/items/123)。该规范优势在于语义清晰、协作高效、工具兼容性好且易于扩展,已成为前后端分离和微服务项目的标准设计方式。
2025-12-15 23:29:09
438
原创 9 前后端数据处理格式的注意事项
前后端数据处理格式注意事项摘要 后端JSON序列化问题:确保变量名与接口文档一致,或使用@JsonProperty指定字段名,避免Jackson默认规则导致字段名错误。可通过@JsonIgnore隐藏敏感字段,配置non_null过滤空值。 前端响应适配问题:若前后端字段名不一致,优先后端对齐,或前端临时映射。注意axios拦截器可能自动解析响应数据,需检查是否覆盖原始字段。 后端请求参数规范:强制使用DTO(非Map)接收参数,明确区分DTO(参数校验)、VO(返回数据)、Entity(数据库映射)。DT
2025-12-15 23:26:45
1164
原创 10 MyBatis参数
int double类型 String类型 long简单的写法:java.lang.Integer --> int integer Int Integer 都可以,框架提供简写的方式。默认是不能简写,即,默认情况下必须使用全限定类名(如com.example.User),不能直接写User这种简写形式。如果想简写就要自己手动配置别名。默认是不能简写的,必须使用全限定类名。如果要简写,需要自己手动配置。
2025-12-14 14:11:00
902
原创 mybatis入门案例及解释
本文详细介绍了MyBatis框架的配置和使用流程。主要内容包括:1) 创建Maven项目并配置MyBatis核心依赖;2) 建立数据库连接和实体类映射;3) 配置MyBatis主配置文件SqlMapConfig.xml和映射文件UserMapper.xml;4) 通过三种方式实现DAO层测试:基于Spring注解的AOP方式、接口代理方式和字符串标识方式。重点讲解了实体类与数据库表的映射关系、SQL语句的XML配置方法,以及如何通过MyBatis实现数据持久化操作。文章提供了完整的代码示例,包括项目结构搭建
2025-12-14 14:03:14
992
原创 8 分层架构核心原则
文章摘要:本文阐述了8分层架构的核心原则,强调按功能职责明确划分Controller、Service、Mapper三层。Controller仅处理请求响应,Service承载全部业务逻辑,Mapper专注数据库操作。架构要求严格分层隔离,禁止跨层逻辑混用,数据流转遵循固定路径(前端→Controller→Service→Mapper→数据库)。关键原则包括:业务逻辑集中Service层、按模块而非表结构划分Service、各层职责不越界。该分层模式(Controller传话、Service核心、Mapper
2025-12-13 23:26:48
188
原创 Javaweb项目的上下文路径
摘要:应用上下文路径(ApplicationContext)是Web项目访问的关键前缀。当设为根路径(/)时,访问URL和代码路径无需前缀;设为/app时,所有请求必须包含该前缀。代码处理需区分框架语法(自动加前缀)和原生标签(需手动拼接)。静态资源访问需额外配置,如SpringMVC的mvc:resources或mvc:default-servlet-handler。开发时需特别注意IDEA与独立Tomcat部署的路径差异,确保正确处理上下文路径。
2025-12-12 23:17:13
806
原创 Tomcat部署ssm聚合项目
本文介绍了SSM聚合项目(Hami音乐项目)的构建和部署注意事项。项目包含父工程(hami_parent)和多个子模块(ham_core、ham_console等),父工程负责依赖管理,核心模块需先打包并同步到本地仓库。部署时需将WAR包放入Tomcat的webapps目录,并配置server.xml文件。特别注意:公共JAR包不能直接放入webapps,而应通过Maven安装到本地仓库;启动前需检查配置文件;错误排查可查看控制台日志或Tomcat日志文件。删除项目时需清除webapps目录和conf配置。
2025-12-12 13:05:24
1259
原创 3 MyBatis 测试流程与核心原理解析
本文解析了基于JUnit框架的MyBatis测试流程与核心原理。测试类UserTest包含成员变量(输入流、会话、接口代理)、@Before初始化方法(加载配置、创建会话工厂、获取代理对象)、@After清理方法(关闭资源)和@Test测试方法(执行SQL并验证结果)。MyBatis作为持久层框架,通过SqlMapConfig.xml配置文件定义数据库连接和SQL映射,利用动态代理将UserDao接口方法转换为SQL执行。JUnit框架通过@Before/@Test/@After注解实现测试生命周期的自动化
2025-12-12 12:59:42
488
原创 MybatisPlus插件
MyBatis-Plus分页与乐观锁实现指南 分页功能: 需配置PaginationInnerInterceptor拦截器并指定数据库类型 使用IPage接口实现类(如Page)传递分页参数 支持自动SQL和自定义SQL的分页处理 乐观锁实现: 数据库添加version字段,实体类添加@Version注解 配置OptimisticLockerInnerInterceptor插件 更新时自动检查版本号,防止并发修改冲突 更新失败时可重试机制获取最新数据 两种功能都通过MybatisPlusIntercepto
2025-12-08 23:19:49
600
原创 mybatisplus入门案例
本文介绍了使用MyBatis-Plus开发SpringBoot项目的入门案例。开发环境采用IDEA2021、JDK8+、Maven3.6.3和MySQL8.0,框架版本为SpringBoot2.7.6和MyBatis-Plus3.5.1。主要内容包括:创建数据库表结构,初始化SpringBoot项目并配置相关依赖,使用Lombok简化实体类开发,配置数据源和日志输出,以及通过继承BaseMapper实现基础CRUD操作。特别说明了IDEA中Mapper接口的注入报错问题及解决方案,推荐安装MyBatisX插
2025-12-08 23:10:58
1057
原创 4 jQuery、JavaScript 作用域、闭包与 DOM 事件绑定
jQuery是一个JavaScript函数库,提供了简化DOM操作、事件处理等功能。通过$(selector).action()语法操作元素,支持CSS选择器。jQuery可通过CDN引入或本地文件引用。$(document).ready()是DOM加载完成的回调函数,其内部形成闭包作用域,局部变量可被事件函数访问。推荐使用jQuery的事件绑定方式(如.click()),而非onclick全局函数,以避免作用域污染。闭包机制能保留局部变量的引用,解决事件处理中的变量访问问题。
2025-12-06 23:38:06
1052
原创 5 mybatis单表增删改查
本文摘要: MyBatis动态SQL实践指南详细介绍了参数处理、查询、修改、新增和删除操作的实现方法。重点包括:1)参数处理规则:值参数使用#{}防止注入,SQL语法部分使用${}直接拼接;2)查询操作涵盖普通查询、模糊查询和动态SQL(if/where/choose/foreach等标签);3)修改和新增操作演示了动态SQL的set/trim标签应用;4)删除操作展示批量删除实现。特别强调表别名一致性、参数安全处理和动态SQL标签的适用场景,提供了完整的XML配置示例和Java测试代码,帮助开发者高效构建
2025-12-06 09:25:10
674
原创 2 安装虚拟机
而 virbr0 是虚拟网桥接口,主要用于虚拟机内部的虚拟网络管理(比如管理虚拟机里的其他虚拟设备),不是对外提供远程连接的地址,所以无法用于 Mobaxterm 这类工具的远程连接。断网再重连(或重启网络)时,DHCP 服务器会重新给虚拟机分配 IP,同一网段内的空闲 IP 可能变化(从 130 变成 131),所以 ens33 的 inet 地址会变。而且centos是开源的,安全。点安装位置,点进去之后点完成即可,下面图片是已经点过的截图,如果没有点过,字会显示红色的,要变成黑色的才可以。
2025-12-05 00:00:06
992
原创 docker概述
摘要:本文系统阐述了技术演进与容器化发展的关系。业务需求驱动技术从Servlet+JSP到微服务架构的演进,其中Docker作为容器技术的代表解决了传统部署的环境不一致、批量管理难等问题。文章详细解析了Docker的核心概念(镜像、容器)、工作原理及与虚拟化的区别,指出Docker通过"一次构建,随处运行"的理念实现了开发、测试、部署环境的统一。容器化相比虚拟化更轻量高效,适合微服务时代大规模服务部署需求,成为现代软件开发的重要基础设施。
2025-12-04 23:48:43
524
原创 6 Tomcat介绍
Tomcat常用版本为8.5和9.0,相比8.0及以前版本在编码处理、性能和支持规范上有显著改进。8.0后版本默认UTF-8编码减少乱码问题,支持非阻塞I/O和HTTP/2协议提升性能。安装目录中,bin包含启停脚本,conf存放全局配置,webapps是主要发布目录。JavaWeb项目包含WEB-INF(安全目录,含web.xml、classes和lib)和META-INF等目录结构。
2025-12-04 23:45:27
835
原创 云服务器安装MySQL
摘要:本文详细介绍了在Linux服务器上安装MySQL 8.0的完整步骤。首先需清理旧版本并下载官方yum源配置包,通过sudo权限安装MySQL服务并启动。重点说明了初始密码获取方法、密码修改流程(需先设复杂密码再降低安全策略)及远程连接配置(需修改用户认证插件)。同时警告了简单密码的安全风险,并提供了MySQL安装目录查询方法。文中还对比了MySQL 5.7与8.0的安装差异,强调了云服务器需额外开放3306端口。
2025-12-04 23:43:50
850
原创 15 时间格式的转换
本文总结了SpringBoot中前后端日期格式转换的四种场景及处理方法:1)表单提交时使用@DateTimeFormat或全局配置;2)JSON提交时使用@JsonFormat或Jackson配置;3)JSON响应时后端可自定义格式;4)视图渲染时通过Formatter定制显示格式。关键点在于前后端格式必须匹配,且不同场景适用不同配置方式,优先级依次为注解>代码定制>全局配置。特别指出JSON处理依赖Jackson库,而视图渲染是Formatter独有的应用场景。
2025-12-04 23:30:28
905
原创 16 gitlab
本文介绍了GitLab在CentOS 7.6环境下的安装与基本使用。安装过程包括依赖包安装、下载适配版本、配置访问地址等步骤。使用部分详细说明了项目创建、远程仓库关联(HTTP/SSH连接)、SSH密钥配置方法,以及常见问题的解决方案。同时提供了GitLab终端常用命令,包括服务管理、日志查看等操作指南。文章还特别说明了SSH连接的优势及多设备密钥配置要点,为GitLab的部署和使用提供了实用参考。
2025-12-04 23:06:39
1613
原创 4 ssm项目配置https
摘要:本文介绍了如何为SSM项目配置HTTPS协议以保障数据传输安全。通过分析HTTP协议明文传输的风险,说明HTTPS加密的必要性。详细演示了使用keytool生成自签名证书、配置Tomcat的server.xml文件、设置HTTPS连接器等步骤。虽然自签名证书会触发浏览器警告,但实际通信链路已加密,可有效防止数据抓包。同时指出SpringBoot项目的简化配置方式。配置完成后,前端与后端的所有传输数据都将通过TLS/SSL加密,解决HTTP协议下的安全隐患。
2025-12-01 23:30:28
748
原创 7 SpringBoot pom.xml解释
本文介绍了SpringBoot项目中pom.xml文件的核心配置要点。重点解析了parent标签的作用,它通过继承spring-boot-starter-parent实现版本管理、配置继承和插件统一管理。详细说明了spring-boot-dependencies作为版本仲裁中心的机制,以及如何覆盖默认版本。同时介绍了Starter启动器原理和常用场景,如spring-boot-starter-web等。最后总结了Maven依赖标红的常见原因及解决方法,包括拼写错误、仓库配置问题等。通过pom.xml的合理配
2025-11-29 16:40:32
1113
原创 SpringBoot项目连接deepseek
本文介绍了如何连接并使用DeepSeek API的详细步骤:1)在官网创建API Key并保存;2)在SpringBoot项目中导入OkHttp依赖;3)提供了完整的Java示例代码,包括创建请求体、发送HTTP请求和处理响应;4)演示了如何将代码集成到Service层,通过修改输入内容与DeepSeek进行交互。关键点包括API Key的配置、请求参数的设置以及响应结果的获取。
2025-11-29 16:33:59
193
原创 4 Maven 项目构建与配置要点总结
Maven作为Java项目管理工具,其核心在于提供标准化的项目结构和自动化构建流程。它通过pom.xml配置文件管理依赖和构建生命周期,但不包含具体业务逻辑实现。Maven项目创建后仅包含基础目录结构(如src/main/java、src/test),需要开发者进一步集成其他框架。其核心作用包括统一项目结构、自动化依赖管理(通过坐标定位JAR包),并维护本地/远程仓库机制。Maven相当于项目开发的"地基",为Spring等框架提供底层支撑,是Java项目的基础管理工具。
2025-11-29 16:20:15
737
原创 Git安装
本文介绍了Git在不同环境下的安装方法。对于Windows系统,可从官网或清华镜像下载安装程序,安装后通过右键菜单验证是否成功。在Linux服务器上,需先更新软件包索引,再用yum命令安装Git,该命令可在任意目录执行。安装完成后可通过git --version查看版本号。两种安装方式都给出了详细步骤和验证方法,适用于不同操作系统环境下的Git安装需求。
2025-11-29 16:12:49
314
原创 2 Git的特点
这样每个人的电脑上都有一份完成的服务器代码仓库的镜像,任何一处协同工作用的服务器发生故障,事后都可以用个人的电脑上的镜像出来的本地仓库恢复。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。这类系统(CVS,Subversion,Perforce,Bazaar 等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容,请看下图。
2025-11-29 15:54:18
532
原创 云服务器安装Tomcat
本文详细介绍了在Linux系统上安装和配置Tomcat 8.5.29的完整流程。主要包括:从官网下载对应版本的tar.gz压缩包,通过MobaXterm上传到服务器并解压;启动/停止Tomcat服务的方法;通过curl和浏览器验证服务是否正常运行。重点解决了常见的访问问题排查:包括检查服务器网络连通性、确认安全组规则、验证端口监听状态(特别注意Tomcat默认只监听127.0.0.1的问题),以及处理端口冲突时如何终止占用进程。最后提供了修改server.xml配置文件(添加address="0.
2025-11-24 15:40:04
859
原创 1 概述及简单登录(不涉及数据库)
本文介绍了HTTP协议的基础知识和Servlet实现简单登录功能的过程。HTTP作为应用层协议,采用请求-响应模型实现客户端与服务器的通信,具有无状态特性。文章详细展示了前端通过jQuery+Ajax发送请求(GET/POST方式),以及后端Servlet处理请求的完整代码实现。Servlet接收参数后验证账号密码,返回JSON格式的响应数据。运行结果分别在前端浏览器和后端控制台显示,演示了完整的Web交互流程。该示例不涉及数据库操作,重点呈现了HTTP通信和Servlet的基本使用方法。
2025-11-24 15:25:23
393
原创 3 与数据库连接(JDBC)
本文介绍了使用JDBC连接数据库的基本步骤和封装优化方法。首先阐述了JDBC的概念、规范及驱动的作用,强调需要导入MySQL驱动jar包。详细演示了JDBC开发流程:加载驱动、获取连接、执行SQL语句(查询/增删改)及释放资源。针对重复代码问题,提出了封装解决方案:1) DBConnection类封装连接逻辑;2) MysqlUtil类提供增删改查等操作。最后介绍了JDBC工具类的三个演进版本:1.0基础版、2.0支持配置文件版和3.0连接池版,体现了从基础实现到优化改进的过程。通过封装可提高代码复用性和开
2025-11-24 15:22:17
257
原创 UEditor文档
本文介绍了百度UEditor富文本编辑器的配置与使用。主要包括:1)将压缩包导入WebContent目录并解决报错问题;2)修改config.json文件编码为UTF-8;3)移动jar文件到WEB-INF/lib目录;4)创建HTML文件并调整编辑器路径配置;5)解决图片上传显示问题,需修改config.json中的imageUrlPrefix路径;6)使用getContent方法获取编辑器内容并提交。文中详细说明了各步骤的操作方法和注意事项,帮助开发者正确部署和使用UEditor编辑器。
2025-11-24 14:47:11
296
原创 SpringBoot自动配置类
本文分析了Spring Boot 2.7.6中HTTP编码自动配置的实现机制。HttpEncodingAutoConfiguration作为自动配置类,其生效需要满足三个条件:Servlet类型Web应用、存在CharacterEncodingFilter类、未关闭server.servlet.encoding.enabled配置。配置流程涉及三个关键类:Encoding类存储默认值和配置值,ServerProperties绑定配置文件,HttpEncodingAutoConfiguration注册过滤器。
2025-11-24 14:42:07
1583
原创 SpringBoot项目中使用纯数字密码连接数据库失败
摘要:SpringBoot项目连接本地MySQL数据库失败,原因是YAML语法特性导致纯数字密码被解析为整数而非字符串。解决方法是在application.yml中用单引号或双引号包裹密码(如password:'123456')。该问题仅出现在YAML配置中,properties文件无此问题。建议敏感配置项始终加引号,并掌握YAML与properties的语法差异。排查步骤包括:命令行验证密码、切换配置文件格式、打印实际读取的配置值。(148字)
2025-11-21 16:42:11
797
原创 会话及其保存技术
本文介绍了Web开发中的会话技术,主要包括Cookie和Session两种会话保存方式。Cookie是客户端技术,将状态信息保存在浏览器中,服务器通过响应发送给客户端,并在后续请求中携带。Session则是服务端技术,状态信息存储在服务器端,通过唯一的JSESSIONID进行标识,安全性更高。文章详细展示了Java Servlet中Cookie和Session的代码实现,包括设置、获取和删除操作,并比较了二者的特点和适用场景。此外还介绍了在HTML中使用jQuery操作Cookie的方法,以及Session
2025-11-17 15:26:26
786
原创 服务端的跳转方式
本文介绍了Java Web开发中的两种服务端跳转方式:请求转发和重定向。请求转发是服务器内部转发请求,客户端只发起一次请求,URL不变且request域数据共享;重定向是服务器指导客户端发起新请求,URL改变且request域数据不共享。通过示例代码演示了两种跳转的实现方式及特点,包括如何访问WEB-INF资源等注意事项。
2025-11-17 15:19:44
148
原创 get 和 post的区别
GET和POST是HTTP请求的两种主要方法,主要区别在于参数传递方式和安全性。GET请求将参数附加在URL中,安全性较低且传输数据量有限,适用于查询操作和数据获取;POST请求将参数放在请求体中,更安全且支持大数据传输,常用于文件上传和数据提交(增删改)。在AJAX中,GET通过URL传参(也可用data),POST通过data传参。GET请求可通过浏览器地址栏、a标签等发起,多用于查询;POST多用于数据库修改操作。
2025-11-17 15:06:46
160
原创 SSM概述——ssm框架组成及协作流程
SSM框架是Spring+SpringMVC+MyBatis的组合架构,是企业级JavaWeb开发的经典方案。Spring提供IoC容器、AOP和事务管理;SpringMVC基于MVC模式处理Web请求;MyBatis作为持久层框架实现SQL与对象的灵活映射。工作流程中,SpringMVC接收请求并交由控制器处理,服务层执行业务逻辑并调用MyBatis操作数据库,最后由视图渲染返回响应。该框架层次清晰,通过注解简化开发,兼顾灵活性与规范性,适合复杂业务场景。
2025-11-17 15:02:16
166
原创 SpringBoot项目整合swagger
本文详细介绍了Swagger在SpringBoot项目中的整合过程。Swagger通过代码注解自动生成API文档,提供可视化界面(http://localhost:8080/swagger-ui.html)进行接口测试。主要内容包括:1) 添加Swagger2和UI依赖;2) 配置SwaggerConfig类,包括Docket配置和资源路径映射;3) 使用@Api、@ApiOperation等注解标记Controller;4) 实体类使用@ApiModelProperty标注字段说明。配置完成后,开发者可直
2025-11-17 14:58:16
933
原创 Spring 框架整合 JUnit 单元测试——包含完整执行流程
摘要:Spring框架提供整合JUnit单元测试的技术,简化测试开发流程。通过导入spring-test依赖,结合@RunWith和@ContextConfiguration注解可快速搭建测试环境。演示了XML配置和纯注解两种方式:XML方式通过定义bean和配置文件,注解方式使用@Component和@Configuration配置类。测试类通过@Autowired自动注入测试对象,避免了手动创建工厂和加载配置文件的繁琐操作。文章还对比了纯XML、半注解和纯注解三种配置方式的优缺点,推荐使用类型安全、简洁
2025-11-12 21:05:44
1266
原创 spring多配置文件
Spring多配置文件加载可通过XML和注解两种方式实现。XML方式:1)在主配置文件中使用<import>标签引入其他配置文件;2)在创建ApplicationContext时直接指定多个配置文件路径。注解方式使用@Import注解导入其他配置类,适用于基于Java配置的场景。测试代码示例展示了通过ClassPathXmlApplicationContext同时加载多个XML配置文件的使用方法。这两种方式都能有效实现配置文件的模块化管理。
2025-11-12 21:00:30
178
原创 spring概述
Spring是一个轻量级的Java开发框架,由Rod Johnson于2003年创建,通过控制反转(IoC)和面向切面编程(AOP)实现业务逻辑层与其他层的松耦合。其分层架构支持Java SE/EE开发,整合了MVC、事务管理等功能,并能与Struts、Hibernate等框架无缝集成。Spring降低了企业应用开发复杂度,提供声明式事务、简化测试等功能,显著减少了Java EE API的使用难度。虽然不能完全消除对象间的依赖关系,但有效降低了系统耦合度。
2025-11-12 20:58:16
258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅