自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常见工具类

本文摘要: 树形菜单生成工具类:通过递归方法实现多级菜单的树形结构构建,提供buildTree和findChildren方法处理父子节点关系。 跨域请求处理方案: 方案一:使用@CrossOrigin注解(效率低) 方案二:通过WebMvcConfigurer配置类统一处理(推荐) 拦截器实现: 创建LoginAuthInterceptor进行token验证 配置拦截路径和放行路径 使用ThreadLocal存储用户信息 全局异常处理: 定义自定义异常类 通过@ControllerAdvice实现统一异常捕

2025-11-26 17:45:00 410

原创 Python一些网页操作方法

摘要:本文介绍了使用Selenium进行网页自动化操作的基本流程。主要内容包括:1)安装Selenium库和浏览器驱动;2)初始化浏览器对象并执行基本操作(打开/关闭页面、窗口控制、页面导航等);3)元素定位方法(重点介绍XPath定位);4)常见交互操作(输入文本、点击、文件上传等);5)三种等待机制(隐式、显式、固定等待)。文章提供了详细的代码示例,帮助开发者快速掌握Selenium的核心功能,适用于网页自动化测试和数据采集场景。

2025-11-26 09:45:00 659

原创 销售技巧学习经验

【客户关系维护技巧】摘要:本文系统总结了客户关系管理的实用方法,包括换位思考、互惠原则、礼品策略和沟通技巧。核心要点:1)站在客户角度思考,关注对方利益;2)通过巴纳姆效应化解尬聊,从兴趣爱好切入建立关系;3)伴手礼选择要自然低调,被拒时灵活应对;4)拜访前充分准备,提供有价值信息;5)运用"3-7-15"跟进法则维护长期关系。关键技巧包括:降低预期超额兑现、制造共同话题、观察细节投其所好,最终让客户感受到专业而不功利的服务价值。(149字)

2025-11-25 19:11:41 471

原创 一篇文章带你了解单元测试如何实现

摘要: Mock用于单元测试中模拟外部依赖(如数据库、API等),避免真实调用带来的复杂性和不确定性。通过Mockito框架的@Mock注解创建模拟对象,@InjectMocks注入被测服务,并在测试前设置模拟行为(如when().thenReturn())。示例以保险退保服务为例,Mock了保单仓储、财务服务和通知服务,测试了正常退保、保单不存在、退款失败等场景,验证了业务逻辑与外部交互的正确性。Mock的核心价值在于隔离被测代码,聚焦逻辑验证,提升测试效率和稳定性。

2025-11-25 18:59:34 963

原创 Debug排查问题

摘要: 本文系统阐述软件调试方法论,提出8种核心方法(回溯法、正向跟踪等)及其适用场景,强调根据问题特征选择策略。回溯法适合根源明确的数据异常,通过调用栈分析逆向定位;正向跟踪适用于逻辑复杂的流程理解。文中提供决策框架:明确错误现象用回溯法,复杂流程采用正向跟踪或"橡皮鸭调试法",并发问题选择线程调试。特别指出回溯法高效精准,适合生产环境快速定位直接原因,而正向跟踪更利于系统性分析。IDEA工具的FindUsages、字段监视等功能可有效辅助回溯过程。

2025-11-20 13:11:00 505

原创 Maven一些构建上的问题

Maven项目操作指南摘要:本文详细介绍了Maven在IDE中的核心操作和生命周期。1)重新加载项目用于同步手动修改的pom.xml变更;2)下载源码/文档功能便于调试和查阅API;3)多模块项目操作包括生成源代码包和更新依赖关系;4)Maven生命周期包含clean到deploy等9个阶段,执行后阶段会自动触发前序阶段;5)更新仓库索引可解决依赖解析问题并同步远程仓库变更;6)常见问题处理建议包括检查pom文件、执行clean-install流程等。这些操作能有效解决"依赖未更新"、&

2025-11-20 10:35:27 880

原创 文件转对象

本文详细介绍了文件处理的全流程技术方案,主要包括五个核心阶段:1)采用流式处理将文件转换为字节数组,避免大文件内存溢出;2)通过智能字符集检测解决中文乱码问题;3)按行读取文本内容并转换为业务对象;4)构建请求/响应数据结构;5)多线程批量处理提升性能。关键技术包括:使用固定大小缓冲区、自动编码识别、流式逐行读取、键值对解析等,同时强调了try-with-resources自动关闭流、线程安全缓冲区等最佳实践。该方案兼顾了处理效率和内存安全,适用于各类文件处理场景。

2025-11-16 19:42:27 590

原创 GT语言学习与使用

GT语言与GDL语言的区别主要体现在应用领域和功能特性上:GT语言泛指多种数据处理工具,包括科学计算工具GDL、形式语言描述工具和图形化编程技术,主要服务于科研、教育和语言处理领域;而GDL语言特指几何描述语言,专注于建筑设计中的参数化建模,为建筑师提供几何对象创建和控制能力。两者在目标用户和技术特点上差异显著:GT语言面向数据分析和可视化需求,强调数组运算和兼容性;GDL语言则服务于建筑信息模型(BIM)工作流,注重几何参数化和CAD集成。

2025-11-05 17:00:38 595

原创 jvm大概运行流程

本文摘要: Java类加载与执行过程详解:从编译到运行,类加载器工作原理,内存分配机制,以及HelloWorld程序执行全流程分析。 文章系统讲解了Java程序从源代码到执行的完整生命周期: 编译阶段:javac将.java文件编译为.class字节码 类加载阶段:加载→验证→准备→解析→初始化 运行阶段:创建对象、方法调用、执行流程 内存分配:方法区、堆、虚拟机栈等区域的功能 类加载器层次结构:双亲委派机制实现原理 以HelloWorld为例展示完整执行流程 通过烹饪比喻形象说明JVM工作原理,并包含伪代

2025-10-26 22:45:59 217

原创 springboot运行整体流程

Spring Boot启动流程详解:1. 核心流程分为容器准备、刷新和自动配置三大阶段;2. 容器刷新包含12个关键步骤,从BeanFactory准备到单例Bean实例化;3. 自动配置通过条件注解动态注册组件(如DispatcherServlet);4. Bean生命周期包括实例化、依赖注入、初始化和销毁阶段;5. 请求处理流程由DispatcherServlet协调,经过6个处理步骤完成请求响应。整个过程采用工厂模式和责任链模式实现组件的动态管理和请求处理。

2025-10-26 22:45:13 312

原创 线程相关面试题

Java中的四种引用类型区别:1)强引用-默认引用,显式置null才能回收;2)软引用-内存不足时回收,适合缓存;3)弱引用-每次GC都会回收;4)虚引用-无法获取对象,仅用于回收跟踪。守护线程随主线程结束,非守护线程独立运行。线程池类型包括FixedThreadPool(固定线程+无界队列)、CachedThreadPool(弹性线程+同步队列)等,适用不同任务场景。

2025-10-26 19:36:07 418

原创 算法常用方法论

找重复、找缺失、找配对:统计频率、出现次数:建立映射关系。

2025-10-26 12:21:13 1070

原创 AOP底层代码实现

本文介绍了Java中的两种代理模式:静态代理和动态代理。静态代理通过创建代理类实现接口,在调用目标方法前后添加额外逻辑(如日志)。动态代理分为JDK动态代理(基于接口)和CGLIB动态代理(基于子类继承),前者通过Proxy类生成代理对象,后者通过Enhancer创建子类代理。文章详细说明了两种动态代理的实现原理、适用场景和代码示例,并比较了它们的差异。最后指出Spring AOP会根据目标对象特性自动选择代理方式,默认优先使用JDK动态代理,无接口时使用CGLIB。

2025-10-26 10:02:35 939

原创 sql复习

本文摘要:本文系统介绍了SQL查询中的关键技术与应用场景,包括范围查询(BETWEEN)、去重(DISTINCT)、空值处理(IS NOT NULL)、聚合函数(SUM/AVG/MAX/MIN/COUNT)等基础操作,详细解析了IN操作符、多条件查询(HAVING/INTERSECT/INNER JOIN/EXISTS)等复杂查询方法。特别针对医疗场景设计了数据库表结构(患者信息、排班、治疗记录、药品管理等模块),并给出药品用量趋势分析、患者用药分析等实际案例。文章还深入讲解了SQL执行顺序、日期函数、字符

2025-10-23 10:54:02 412

原创 java架构发展史

本文系统梳理了Java Web开发技术的演进历程,从早期的JSP+Servlet混合开发到现代微服务架构的转变。主要内容包括:1)JSP+Servlet时代的混合式开发模式及存在的问题;2)MVC框架(Struts/Spring MVC)带来的分层架构和可测试性提升;3)注解驱动和前后端分离的开发范式转变;4)Spring Boot的自动配置机制及其对Spring MVC的封装;5)Spring Cloud构建的微服务生态系统,包括服务注册发现、API网关等分布式组件。文章通过技术对比和代码示例,展示了Ja

2025-10-22 10:39:12 900

原创 java新特性

Java函数式编程与版本特性演进摘要 Java 8引入的核心函数式特性包括: 函数式接口(@FunctionalInterface)与Lambda表达式,提供简洁的行为参数化能力 内置常用函数式接口:Predicate、Function、Consumer、Supplier等 Stream API支持链式函数式集合操作,包含过滤、映射、归约等操作 Java 17重要特性: 密封类(sealed class)限制继承关系 增强的伪随机数生成器API 移除过时的Applet API Java 21革命性更新: 虚

2025-10-21 16:40:12 268

原创 线程池应用场景

医疗系统多线程池配置方案 本文介绍了医疗业务系统中多线程池的配置方案,根据不同业务需求设计了四种线程池类型:实时医嘱处理(高优先级)、检验报告生成(CPU密集型)、数据同步(IO密集型)和统计报表计算(低优先级)。通过Spring配置实现了核心线程池、IO密集型线程池和定时任务线程池的创建,并提供了三种使用方式:@Async注解、编程式调用和定时任务指定。特别强调了虽然每个线程池实例本身是单例的,但可以配置多个不同类型的线程池来满足不同业务场景的需求。文章还通过医院中央供氧机的比喻,形象地解释了单例模式的核

2025-10-21 16:39:15 345

原创 MyBatis 防止 SQL 注入的方法

摘要:MyBatis通过多种机制防止SQL注入:1.默认使用PreparedStatement预编译参数(#{}语法);2.避免使用${}直接拼接SQL;3.利用安全的动态SQL标签(如<if>、<where>)构建查询;4.通过类型处理器确保数据安全转换;5.可自定义SQL过滤器拦截器检查危险字符。这些措施共同保障了SQL执行的安全性。(150字)

2025-10-21 13:12:08 452

原创 项目日志开发常用日志类型

本文介绍了医疗系统日志管理的最佳实践方案,重点分析了不同场景下日志记录方式的选择。核心内容包括: 日志分类存储策略: 高频技术日志(API请求、性能监控)和调试日志存文件 业务审计日志、安全事件日志和合规性记录存数据库 技术实现方案: 方法调用日志采用AOP切面实现,记录入参、耗时等信息 业务流水日志在Service层手动记录关键业务状态变更 全局异常处理器统一捕获各类异常并格式化输出 医疗系统特殊处理: 治疗单状态变更通过状态机规范流转并记录操作日志 敏感操作实施审计追踪,满足合规要求 错误事件分级处理,

2025-10-21 08:50:36 1092

原创 项目排查问题方法论

血透系统治疗启动失败问题排查摘要 护士点击「开始治疗」后出现504超时错误。经排查发现根因为后台报表查询的长事务阻塞了治疗状态更新请求。关键发现:1)报表查询使用共享锁且未设置超时;2)缺少(status,create_time)复合索引导致全表扫描。解决方案:紧急终止阻塞会话后,进行了SQL优化(添加索引)、改用READ_UNCOMMITTED隔离级别、设置锁超时等长期优化措施,并部署了数据库锁监控。该案例展示了从现象收集、分层排查到根因定位的完整过程,强调医疗系统需特别关注事务优先级和数据库隔离设计。

2025-10-21 08:50:02 807

原创 Mybatis-Plus实现思路

本文介绍了一个基于Spring+MyBatis的简化ORM框架实现方案,通过动态代理和反射机制实现SQL自动生成。核心包括:1)定义通用Mapper接口和实体类注解;2)使用反射解析注解生成SQL语句;3)通过JDK动态代理创建Mapper接口代理对象拦截方法调用;4)集成Spring实现自动扫描和注入。该框架实现了类似MyBatis-Plus的基础功能,包括CRUD操作和条件构造器,减少了重复SQL编写工作。

2025-10-20 14:04:53 682

原创 HashMap相关面试题

本文系统解析了HashMap的核心原理与实现机制,主要涵盖以下内容: 数据结构与原理 JDK1.8后采用"数组+链表+红黑树"结构 通过哈希函数计算键的位置,使用拉链法解决冲突 关键实现细节 扰动函数优化哈希分布(高16位异或低16位) 扩容机制:2倍扩容,阈值=容量×负载因子(默认0.75) 树化条件:链表长度≥8且数组容量≥64时转为红黑树 线程安全与性能 非线程安全,多线程操作可能导致数据覆盖 推荐使用ConcurrentHashMap实现线程安全 与Hashtable对比:更高性

2025-10-20 14:03:34 870

原创 java内存模型(JVM+JMM)

JVM通过分层设计和跨平台机制实现Java"一次编译,到处运行"的特性。核心机制包括:1) 类加载采用双亲委派模型,分为启动类、扩展类和应用类加载器,确保安全隔离;2) 字节码执行通过解释器与JIT编译器协同工作,解释器快速启动,JIT优化热点代码;3) 内存管理采用分代回收算法,新生代用复制算法,老年代用标记-整理;4) 线程安全通过JMM模型规范可见性和有序性,使用volatile、synchronized等机制保障。JVM将平台相关特性封装在底层,向上提供统一接口,使Java程序只

2025-10-20 13:19:32 581

原创 I/O 多路复用

I/O多路复用是一种高效处理高并发I/O的技术,允许单线程监听多个I/O事件。主流实现包括:select(跨平台但效率低)、poll(无FD限制但仍需遍历)、epoll(Linux专属,O(1)复杂度)、kqueue(BSD/macOS方案)。Java NIO基于Selector类封装了系统级实现,在Linux下使用epoll。核心流程分为:创建监听实例、注册通道、事件循环处理。相比传统阻塞I/O,多路复用显著提升了吞吐量,适用于Web服务器、数据库等场景。不同方案在性能、平台支持上各有优劣,epoll/k

2025-10-20 13:11:20 836

原创 面试常见问题

本文摘要涵盖了多个技术领域的核心知识要点: 消息队列可靠性保障:从生产者确认机制、消息持久化到消费者ACK机制,详细说明了如何确保消息不丢失。 SQL优化与索引设计:包括索引失效场景、三大范式、EXPLAIN分析等数据库优化核心内容。 Spring框架原理:深入解析IOC容器刷新流程、事务管理机制和自动装配原理。 分布式系统设计:包含熔断降级、接口安全认证、数据一致性保证等关键方案。 并发编程要点:涵盖CAS原理、死锁条件及解决方案、线程等待机制等。 系统运维实践:包括日志分析命令、生产环境问题排查等实战经

2025-10-20 10:57:51 1241

原创 RabbitMQ消息队列学习笔记

RabbitMQ是一款基于AMQP协议的分布式消息中间件,具备削峰、解耦和异步处理等核心功能。其支持多种消息模式(简单/工作/发布订阅/路由/主题/参数),提供持久化、应答机制和不公平分发等特性确保消息可靠性。相比其他MQ(ActiveMQ/Kafka/RocketMQ),RabbitMQ在数据持久化、定制化功能方面表现突出。通过死信队列和TTL机制可实现延迟队列,适用于订单超时等场景。此外,RabbitMQ提供多种高可用方案(主从/集群/数据复制),并支持发布确认机制(单条/批量/异步)来保障消息投递。插

2025-10-19 12:43:33 688

原创 常见工具类

本文摘要: 本文主要介绍了微服务开发中的几个关键工具类和技术实现。首先详细讲解了递归生成树形菜单的方法,通过buildTree()和findChildren()方法实现多级菜单的构建。其次介绍了跨域请求的两种解决方案,推荐使用全局配置类方式。然后说明拦截器的实现原理,包括登录验证、路径过滤和ThreadLocal上下文共享。此外还涵盖了异常处理、验证码生成、MD5加密、Redis配置、正则校验等工具类的实现。最后展示了统一的Result返回封装类,提供标准化的API响应格式。这些工具类和技术方案为微服务开发

2025-10-19 12:12:37 539

原创 Vue启动流程及文件结构

本文介绍了基于Vue.js的前端项目架构设计。项目采用模块化结构,包含build(Webpack配置)、public(静态资源)、src(核心代码)等目录。src目录下细分api、components、router、store等功能模块,实现职责分离。重点解析了Vuex状态管理方案,通过getters、mutations和actions管理全局状态;路由系统通过router-view动态渲染页面;权限控制模块实现路由守卫和自动跳转。项目采用SPA架构,通过Vue-Router实现无刷新页面切换,结合Vuex

2025-10-19 11:56:31 620

原创 Nginx双节点-健康检查-灰度发布

HTTP服务器工作原理与Nginx高级应用 HTTP服务器通过监听80端口处理客户端请求,主流服务器包括Apache、Nginx和IIS。Nginx采用单线程多进程模型,通过SO_REUSEPORT实现多进程共享端口,配合Master-Worker架构确保高可用性。Nginx支持负载均衡、反向代理、缓存加速等核心功能,通过proxy_cache实现磁盘缓存优化性能。在灰度发布场景中,Nginx可通过权重分配、Cookie识别、IP路由等方式实现流量控制,配合健康检查机制确保服务稳定性。具体实施时,可通过配置

2025-10-19 11:49:47 940

原创 通俗带你了解23种设计模式

本文总结了23种常见设计模式及其核心思想与实现要点。主要包括创建型模式(单例、工厂、建造者等)、结构型模式(适配器、代理、装饰器等)和行为型模式(观察者、策略、命令等)。每种模式都通过示例代码说明其应用场景和实现方式,如单例模式确保类唯一实例、工厂模式解耦对象创建、观察者模式实现事件通知等。这些设计模式为解决特定软件设计问题提供了可复用的解决方案,能够提高代码的可维护性、扩展性和复用性。

2025-10-19 11:33:05 1168

原创 分布式事务事务和跨服务分布式事务,数据一致性方案

本文探讨了分布式系统中保证数据一致性的多种方案。针对缓存一致性,提出了双删、TTL动态调整、互斥锁等策略;对于数据库与缓存不一致问题,介绍了本地消息表、2PC、TCC等分布式事务方案。同时分析了消息队列宕机时的四级降级方案,从高可用集群到最终兜底的全量扫描。文章还对比了不同方案在一致性强度、性能影响和复杂度上的差异,为不同业务场景(如金融交易、电商订单)提供了技术选型建议。最后扩展讨论了实时统计场景下的Redis优化策略,展现了分布式系统设计的完整思路。

2025-10-18 21:12:54 745

原创 数据库存储过程详解

存储过程是预编译的SQL语句集合,存储在数据库中。它具有三种参数类型(IN/OUT/INOUT),支持复杂业务逻辑封装、批量数据处理和性能优化。在SpringBoot中可通过@Procedure注解或EntityManager调用存储过程,适用于保单状态查询、保费统计、分页查询等场景。存储过程的优势包括减少网络流量、增强安全性,但也存在调试困难、版本控制不便等问题。最佳实践建议合理使用、规范命名、添加注释并进行参数验证。相比函数,存储过程更侧重业务逻辑执行而非计算,支持多结果集和事务控制。

2025-10-18 14:17:54 823

原创 滑动窗口算法

滑动窗口算法通过在数组或字符串上维护特定大小的窗口来优化操作,将嵌套循环简化为单循环,降低时间复杂度。该算法使用双指针(left和right)动态调整窗口边界:先扩展右边界直到满足条件,再收缩左边界优化结果。适用于字符串匹配、子串查找等问题,典型应用包括求最小覆盖子串、滑动窗口最大值等。例如在"尽可能使字符串相等"问题中,通过计算字符差异的累计代价来调整窗口大小;而在"定长子串中元音的最大数目"问题中,则统计固定窗口内的元音数。算法实现通常结合队列维护单调性,确保高效

2025-10-18 13:07:34 805

原创 双指针算法

双指针算法是一种高效的遍历技术,通过两个指针协同工作解决问题。主要包括三种类型:滑动窗口(同向指针,解决区间搜索)、对撞指针(反向指针,用于有序数组搜索)和快慢指针(不同步速,检测链表环路)。快慢指针还可用于寻找链表中点、倒数第k个元素等场景。算法通过控制指针移动策略(如同速、倍速、反向)来优化遍历效率,在处理连续数据结构和链表问题时具有显著优势。

2025-10-18 13:06:29 553

原创 递归算法,广度优先算法和深度优先算法

文章摘要: 本文介绍了在二维网格中统计岛屿数量的两种算法:BFS(广度优先搜索)和DFS(深度优先搜索)。BFS采用"直升机探索法",通过队列按层扩散标记相邻陆地;DFS采用"潜水员探索法",通过递归或栈深入探索单条路径。两种算法的时间复杂度均为O(M×N),但BFS更适合找最短路径,DFS则适合深度探索。BFS需要显式维护队列,可能消耗更多内存;DFS使用递归调用,可能面临栈溢出风险。关键步骤包括:网格扫描、发现陆地时计数、标记已访问区域防止重复计算。

2025-10-18 13:02:26 576

原创 手写Mybatis-plus

本文介绍了ORM框架的核心实现原理,主要包括以下几个方面: 对象关系映射(ORM)的基本概念,通过注解实现实体类与数据库表的映射关系; 关键组件的实现:包括表信息解析(TableInfo)、SQL生成器(SqlGenerator)、动态代理(MapperProxy)和工厂模式(MapperFactoryBean); 通过反射机制实现数据库结果集到实体类对象的自动转换; Spring集成方案,包括自定义注解@MyMapperScan和扫描注册器MapperScanner的实现。 该框架实现了类似MyBatis

2025-10-17 14:30:55 541

原创 数据库复杂查询

SQL查询进阶操作摘要:GROUP BY用于分组统计,需包含所有非聚合字段否则报错。HAVING对分组结果过滤(WHERE过滤行),执行顺序为FROM→GROUP BY→聚合→HAVING。子查询可解决"查高于部门均薪员工"等问题。排序分页用ORDER BY和LIMIT实现。窗口函数ROW_NUMBER()可查最新数据(如部门薪资TOP3),结合日期函数DATE_SUB可筛选最近7天记录。注意PARTITION BY定义分组范围,ORDER BY决定排序依据。

2025-10-17 14:29:00 869

原创 面对一个需求,我们该如何设计?

本文提出了一套系统开发方法论:1)明确最小化数据需求,聚焦核心业务流程;2)分析潜在问题(数据冲突、重复等);3)分步设计解决方案(流程设计→业务规则→异常处理);4)评估风险并优化(并发控制、异步处理等)。以血透排班系统为例,从数据建模(患者/设备/时间ID)出发,逐步解决重复排班、并发控制等问题,最后优化系统性能。核心思想是"数据驱动、分步实施",先确保核心功能稳定,再考虑扩展优化。

2025-10-17 14:28:15 366

原创 状态机管理项目全过程

本文提出了一套完整的血透治疗状态管理方案。首先定义了四个核心状态(上机前、治疗中、下机后、取消)及合法流转规则。通过Java枚举实现状态定义,使用状态机模式确保有序流转,采用synchronized保证单线程操作的原子性。针对并发场景,采用患者独立状态机设计;分布式环境下引入Redis分布式锁。异常处理包含非法状态拦截、流程中断回滚和状态持久化机制,确保系统稳定性和数据一致性。该方案通过状态定义、流转控制、并发管理和异常处理四个维度,构建了一个健壮的血透治疗流程管理系统。

2025-10-17 14:27:43 637

原创 静态代理和动态代理

本文介绍了Java中的代理模式,重点讲解了静态代理和动态代理的实现方式。静态代理通过创建代理类包装真实对象,在调用前后添加额外操作(如日志记录)。动态代理则利用JDK的Proxy类,在运行时生成代理对象,通过InvocationHandler统一处理方法调用。文章还以MyBatis-Plus为例,说明如何通过动态代理实现通用Mapper接口的SQL映射和执行,包括接口定义、代理获取、方法解析、SQL执行和结果封装等核心步骤。两种代理方式各具特点,静态代理简单直接,动态代理则更加灵活高效。

2025-10-17 14:25:39 920

描述电缆知识的一些销售技巧

描述电缆知识的一些销售技巧

2025-11-25

麒麟系统服务器P6项目管理工程软件(Primavera P6 Enterprise Project Portfolio Management)部署手册

内容概要:本文档详细介绍了在麒麟系统服务器上部署P6软件的完整流程,涵盖服务器网络配置、虚拟机搭建、操作系统与关键软件安装等环节。首先指导用户进行服务器终端操作和网络设置,包括排查网络连通性、配置动态/静态IP及关闭防火墙等。随后通过FinalShell工具传输Windows镜像,并基于KVM搭建虚拟机环境。接着完成Windows系统的安装、网络驱动配置及SQL Server、JDK、SSMP等必要组件的部署。最后实现P6项目的数据库配置、用户创建及软件安装,并提供从本地测试到机房正式部署的迁移方案。; 适合人群:具备Linux系统操作基础、熟悉服务器运维及相关软件部署的技术人员,适用于企业IT部署工程师或系统集成人员。; 使用场景及目标:①用于在国产麒麟操作系统环境下搭建支持P6软件运行的服务器平台;②实现Windows虚拟机桥接网络配置并完成数据库与中间件部署;③完成P6项目在生产环境中的实际部署与调试。; 阅读建议:此文档为实操型部署手册,建议按照步骤顺序逐步执行,重点关注网络配置一致性、驱动安装完整性及跨系统间IP通信协调,过程中需结合实际情况调整IP地址、网关等参数。

2025-10-15

空空如也

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

TA关注的人

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