mybatisplus一般屏蔽哪些关键字
时间: 2025-03-22 15:02:08 浏览: 25
### MyBatis-Plus 默认屏蔽的关键字列表
MyBatis-Plus 是一款增强型的 MyBatis 框架,它简化了开发流程并提供了许多实用的功能。关于其默认屏蔽的关键字列表,框架设计者为了防止 SQL 注入攻击以及保护数据库操作的安全性,在内部维护了一个关键字过滤机制。
以下是 MyBatis-Plus 中默认屏蔽的关键字列表:
#### 关键字分类
1. **SQL 注入敏感词**
- `drop`, `delete`, `truncate`, `update`, `insert` 等可能引发数据破坏的操作语句被严格限制[^4]。
2. **系统函数与变量**
- 数据库管理系统中的内置函数和变量也被列入黑名单,例如 MySQL 的 `version()`, `database()`, `user()` 等[^5]。
3. **特殊字符组合**
- 特殊字符序列如 `--`, `/* */`, `;`, `\n`, `\r` 被视为潜在危险输入而自动拦截[^6]。
如果开发者希望自定义或扩展这些关键字,则可以通过修改配置实现。具体方法是在项目初始化阶段通过设置全局配置对象来调整关键字策略。
```java
// 自定义关键词处理器
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new CustomKeyWordHandler());
mybatisPlusConfigurer.globalConfiguration(globalConfig);
```
上述代码片段展示了如何创建一个自定义的关键字处理类,并将其应用到 MyBatis-Plus 配置中。
---
#### 注意事项
尽管 MyBatis-Plus 提供了一定程度上的安全防护措施,但在实际业务场景中仍需谨慎对待用户输入的数据验证逻辑。即使启用了默认关键字过滤功能,也建议结合其他手段进一步加固系统的安全性。
---
阅读全文
相关推荐












