- 博客(36)
- 收藏
- 关注
原创 Spring框架中Controller与Service层职责解析
是MVC(Model-View-Controller)架构模式中非常重要的两个分层,它们职责分明,共同协作完成业务请求的处理。理解它们的区别和协作方式对于编写清晰、可维护、可测试的代码至关重要。遵循这种分层模式,能让你的代码结构更清晰,职责更明确,极大地提升项目的可维护性和可扩展性。在Java Web开发中(特别是使用Spring框架时),
2025-06-06 14:34:58
845
原创 Mendix 中的XPath 令牌(XPath Tokens)详解
Mendix 中的 XPath 令牌(XPath Tokens) 是一种动态参数化查询技术,允许在 XPath 表达式中使用变量或上下文相关的值,提升查询灵活性。XPath 令牌以 [%TokenName%] 格式表示,运行时替换为实际值,避免硬编码并支持动态过滤。常用令牌包括 [%CurrentUser%]、[%CurrentDateTime%] 和 [%SessionVariables%] 等,适用于查询当前用户数据、动态过滤日期等场景。XPath 令牌还可结合微流参数使用,并支持通过 Java 代码扩
2025-05-17 00:15:00
470
原创 Mendix XPath:数据查询的核心技巧
在 Mendix 中,XPath 是一种用于查询领域模型中实体数据的查询语言,类似于传统数据库中的 SQL。它通过定义条件从数据库中选择特定对象,是 Mendix 应用开发中数据检索的核心工具之一。XPath 的核心作用包括数据查询、关联查询、动态过滤以及在微流中的检索。其基本语法包括基本结构、常用运算符、关联查询和参数化查询。XPath 的常见应用场景包括页面组件过滤、微流中的动态查询、关联数据查询和复杂条件组合。与 OQL 相比,XPath 更简洁,适合简单查询和页面组件的快速过滤。高级技巧包括使用函数
2025-05-16 14:38:50
605
原创 MySQL Workbench对表进行增删改查
本文详细介绍了如何使用MySQL Workbench对数据库表进行增删改查操作。首先,通过连接MySQL服务器并创建数据库,接着展示了如何创建表、删除表以及查询数据。文章还提供了插入、更新和删除数据的两种方法:使用SQL语句或通过表数据视图。此外,还介绍了如何修改表结构,包括添加、删除和修改列。通过这些步骤,用户可以轻松管理MySQL数据库中的表和数据。
2025-05-16 08:00:00
926
原创 Mendix 连接 MySQL 数据库
Mendix默认使用内嵌数据库存储数据,但也支持连接外部MySQL数据库。连接步骤包括:在Mendix项目中配置数据库连接,选择MySQL作为数据库类型,并填写服务器地址、数据库名称、用户名、密码和端口等连接信息。配置完成后,可以通过“Run locally”按钮测试连接,成功后会显示“Connection successful”消息。启动应用后,Mendix会自动创建多张系统表,用户也可以自行创建表。这一过程使得Mendix能够灵活地使用外部数据库进行数据管理。
2025-05-15 15:41:40
368
原创 Mendix组件Microflow Timer和Community Commons的使用
Microflow Timer 是 Mendix 低代码平台中的一个组件,用于在微流中实现定时和控制流程的功能。其主要功能包括延迟执行、定时触发和流程控制,适用于需要等待一段时间后执行操作、定期轮询数据库或外部服务、实现简单调度任务等场景。配置参数包括延迟时间、重复间隔、最大重复次数和回调微流。使用 Microflow Timer 时需注意其异步特性、云端环境中的定时精度以及可能对应用性能的影响。本文通过一个示例展示了如何使用 Microflow Timer 实现页面内容自动变化,包括每三秒递增 Numbe
2025-05-15 13:43:50
962
原创 如何下载 MySQL 驱动 JAR 包
下载 MySQL 驱动 JAR 包有四种主要方式:1) 从 MySQL 官网直接下载 ZIP 包;2) 使用 Maven,在 pom.xml 中添加 mysql-connector-java 依赖;3) 使用 Gradle,在 build.gradle 中添加 implementation 'mysql:mysql-connector-java:8.0.x';4) 通过直接链接下载。官网下载步骤包括访问 MySQL 官网,选择 Connector/J,下载 Platform Independent 版本的
2025-05-14 15:08:17
1434
原创 Java数组的一些练习
大乐透(前区“35选5”+后区“12选2”),即前区在1-35之间的号码中随机选取5个,后区在1-12之间的号码中随机选取2个,组成一期的中奖号码,请用程序模拟产生一组大乐透中奖号码。先从键盘输入本组学员的人数,再从键盘输入本组学员的姓名和成绩,显示学员姓名和成绩。公司年会有一个寻找锦鲤的游戏,每一个员工随意写一个字,如果在“锦鲤”词库中有这个字,那么就奖励500元锦鲤红包,否则就没有,每人只能玩一次。用一个数组存储本组学员的姓名,先从键盘输入小组人数,再从键盘输入每一个学员的姓名,然后遍历显示。
2025-04-10 09:00:00
954
原创 数组的常见算法二
定义排序:假设含有n个记录的序列为{R1,R2,…,Rn},其相应的关键字序列为{K1,K2,…,Kn}。将这些记录重新排序为{Ri1,Ri2,…,Rin},使得相应的关键字值满足条Ki1<=Ki2<=…<=Kin,这样的一种操作称为排序。通常来说,排序的目的是快速查找。时间复杂度:分析关键字的比较次数和记录的移动次数常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<…<Ο(2n)<Ο(n!)<O(nn空间复杂度。
2025-04-08 22:32:03
907
原创 IDEA的使用
例如:定义sop代表System.out.print();语句①在Live Templates中增加模板②先定义一个模板的组,这样方便管理所有自定义的代码模板③在模板组里新建模板④定义模板(以输出语句为例)Abbreviation:模板的缩略名称Description:模板的描述Template text:模板的代码片段模板应用范围。比如点击Define。选择如下:应用在java代码中。@Test$var2$其它模板2:创建多线程$var$其它模板3:冒泡排序。
2025-04-06 10:45:00
1288
原创 Java三大循环结构深度解析:从入门到精通的实践指南
决策顺序判断条件是→选择方案否→后续操作1需要至少执行一次循环体?使用do-while进入下一步判断2循环次数是否明确可确定?使用for使用while3需要自动管理迭代变量?优先考虑for根据复杂度选择while优先级规则do-while的优先级最高(当必须执行一次时直接选用)for的优先级高于while(当循环次数明确时)特殊场景处理场景特征推荐结构示例集合遍历增强for需要中断/跳过迭代标准for或while使用breakcontinue循环条件依赖复杂计算while。
2025-04-05 12:17:52
1122
原创 正则表达式工具推荐和基础讲解
转义字符需用双反斜杠(如 \\d)1214。分组编号从1开始,group(0) 表示整个匹配15。处理大量数据时注意性能,避免频繁编译 Pattern
2025-03-05 22:54:40
549
原创 Java运算符归纳整理
• 浮点数比较需考虑精度误差(如。),需强制类型转换保留小数(如。(左移):等价于乘以2ⁿ(如。:Java 8引入的匿名函数,(带符号右移):高位补符号位。,但用于简化函数式接口实现。:用括号明确运算顺序(如。• 优先级最低,最后执行。(无符号右移):高位补0。(加法/字符串连接)、会报错(需强制转换)• 字符串比较必须用。
2025-03-04 21:02:43
453
原创 Java String存储结构演进:JDK 8的char[]到JDK 9的byte[]优化剖析
本文通过源码对比解析Java String类在JDK版本中的存储结构演进。JDK 8及以前采用final char[]以UTF-16编码存储字符,每个字符固定占用2字节,导致纯ASCII文本内存浪费50%。JDK 9引入final byte[]与编码标识coder,支持动态选择LATIN1(单字节)或UTF-16(双字节)编码,使ASCII字符串内存占用降低50%,同时兼容非ASCII字符。优化后API行为不变,开发者无感知即可享受内存与GC效率提升,体现了Java兼顾性能与兼容性的设计哲学。
2025-02-28 09:00:00
377
原创 Java基本数据类型运算规则
Java的8种基本数据类型:byte、short、int、long、float、double、char、boolean。不过boolean不参与数值运算,所以我们讲前七种数据类型运算。建议在实际编码中结合IDE的类型检查功能,并多使用。
2025-02-27 09:00:00
355
原创 深入解析Java String类:核心特性、内存管理与性能优化
文系统剖析Java String类的核心机制,详解其不可变性设计基于final字符数组实现,分析字符串常量池优化原理及内存变化(JDK7后移入堆内存)。对比字面量与new对象创建方式的差异,解读intern()方法的作用。针对字符串操作提出性能优化方案,解析StringBuilder与StringBuffer的线程安全差异,列举经典面试问题如对象创建数量判断。最后结合JDK9的byte[]存储优化,展现字符串处理的最佳实践与演进方向。
2025-02-27 09:00:00
855
原创 Java Record 详解
Java Record 通过极简语法和不可变性,显著减少了数据类的样板代码,同时提升了代码安全性和可维护性。其适用于 DTO、模式匹配、函数式编程等场景。
2025-02-26 09:00:00
4934
2
原创 git revert详谈
用于撤销某个提交的更改,但不会删除原提交记录,而是生成一个新的反向提交(逆向操作原提交的变更)。查看提交历史,确定需撤销的提交哈希值(如。此操作不会生成新提交,需手动提交变更。通过新增提交撤销变更,适合协作场景;直接移动分支指针,可能破坏历史记录。合并提交包含两个父提交,需通过。:后续再次合并时需先撤销之前的。参数指定主线分支(通常为。操作,否则原变更可能丢失。
2025-02-25 19:33:29
1033
原创 单例模式,代码界的「霸道总裁」——全宇宙只能有它一个对象存在,谁敢私自new一个,分分钟让你程序崩溃!
单⼀职责原则,SRP(Single Responsibility Principle) —— 堪称程序员界的「万能吵架神器」,江湖人送外号代码辩论赛核弹级辩题。我们今天就来谈谈什么是单例模式以及应用场景和注意事项又为何引得众人为此争的面红耳赤。
2025-02-25 18:38:04
354
原创 Java单例模式终极指南:枚举为何是线程安全与反射防御的最佳实践?
单例模式是一种设计模式,旨在确保一个类只有一个实例,其主要目的是控制类的实例化过程,避免创建多个对象实例;并提供一个全局访问点来获取该实例。这种模式适用于需要唯一对象来协调全局操作或资源管理的场景,例如配置管理器、线程池等.使用私有构造方法或枚举类型实现 Singleton 属性确保单例类不能被外部实例化。
2025-02-24 23:14:07
902
原创 Vite的安装,启动和端口配置
选择一个文件夹输入cmd此处我选择的是D:\VueStudy进入终端后输入官网(https://cn.vitejs.dev/guide/)指定命令此处我使用yarn安装Vite命令**注意:**此处my-vue-app是官网帮你起的名字,可自行修改。
2023-10-07 01:47:16
4625
1
原创 IDEA断点调试
一步一步的向下运行代码,不会走入系统类库的方法中,但是会走入自定义的方法中。一步一步的向下运行代码,会走入系统类库的方法中,也会走入自定义的方法中。进入到下一个断点,如果没有下一个断点了,就直接运行到程序结束。一步一步的向下运行代码,不会走入任何方法中。在当前次取消未执行的断点。
2023-10-03 23:41:53
86
1
原创 IDAE常用设置
方式1:点击IDEA左上角File然后点击Serrings方式2:点击idea又上交工具图标,然后点击Settings方式3:如图所示快捷键 Ctrl+Alt+S。
2023-10-03 23:39:32
1008
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人