XsqlBuilder用于可以动态构造sql语句,避免在构造sql时使用过多的 if 判断,与SafeSqlProcesser集成提供防止sql注入攻击,与DataModifier集成完成数据类型的转换
动态构造sql示例:
String xsql = "select * from user where 1=1
/~ and username = {username} ~/
/~ and password = {password} ~/
/~ and age = [age] ~/
/~ and sex = [sex] ~/"
Map filters = new HashMap();
filters.put("username", "badqiu");
filters.put("age", "12");
filters.put("sex", "");
XsqlFilterResult result = xsqlBuilder.applyFilters(xsql,filters);
构造生成的结果result.getXsql()将会等于
select * from user where 1=1 and username={username} and age=12
被过滤删除的段:
/~ and password = {password} ~/这一段由于在filters中password不存在而没有被构造出来
/~ and sex = [sex] ~/由于sex的值为空串也没有被构造出来
最后result.acceptedFilters值
Map acceptedFilters = result.getAcceptedFilters();
会等于:
{username=badqiu}
相关符号介绍:
/~ segment... ~/ 为一个条件代码块
{key} 过滤器中起标记作用的key,作为后面可以替换为sql的?,或是hql的:username标记
[key] 将直接替换为key value
数据类型转换示例:
select * from user where and 1=1 /~ age={age?int} ~/
将会将Map filters中key=age的值转换为int类型
项目地址:
http://code.google.com/p/rapid-xsqlbuilder/
下载地址:
http://rapid-xsqlbuilder.googlecode.com/files/xsqlbuilder-1.0.zip
分享到:
相关推荐
总的来说,Rapid-XSQLBuilder 是一款优秀的工具,它使得动态构造 SQL 语句变得更加简洁、安全,极大地提高了代码的可读性和可维护性,特别适合在代码生成器或者需要动态构建复杂查询的场景中使用。通过掌握其特有的...
RapidSVN是一款轻量级且用户友好的可视化Subversion(SVN)客户端,专为开发者和团队协作设计。Subversion是一种版本控制系统,用于管理软件项目中的文件和目录的更改历史,使得多人协同开发变得更加高效和有序。...
Steve McConnell's books have always displayed a remarkable degree of ...Parts 1, 2 deal with the Strategy and Philosophy of rapid development, while part 3 covers Rapid develoment best practices
"Rapid代码生成工具"是一款高效实用的软件开发辅助工具,专为提升开发效率而设计。它主要针对MyBatis框架,提供了DAO、Service、Model和XML等基础模块的代码自动生成功能,大大减轻了开发者在项目初期进行基础代码...
Rapid-Framework 是一个基于Java的轻量级开发框架,它结合了Hibernate、Spring和SpringMVC等流行技术,旨在提供一站式解决方案,帮助开发者快速构建稳定且高效的Web应用。本文将深入探讨Rapid-Framework与Hibernate...
这个框架的核心理念是通过提供一系列预先设计的组件、模板和工具,简化开发流程,降低项目的复杂性。 在"framework rapid"中,开发者可以利用其强大的功能来快速搭建应用的基础结构。这些功能可能包括数据访问层、...
该工具支持多种数据库平台,并提供了一系列增强功能来优化SQL开发过程。 ### 二、主要特性 #### 1. 多数据库支持 Rapid SQL XE CN支持包括Oracle、SQL Server、MySQL、DB2、Informix、Sybase等在内的多种主流...
作者:H.D.Moore等,目前Rapid7 面世时间:2003 平台:跨平台 版权:开源 渗透工具 漏洞利用类工具 渗透工具 HTTP的请求响应模型 漏洞利用类工具 自动化SQL注入工具 开发者:Bernardo等 基于python开发的工具 平台:...
**Rapid SQL 7.3** 是一款强大的数据库管理和开发工具,专为简化数据库操作而设计,特别是针对DB2和Sybase数据库系统。这款工具以其高效、易用和功能全面的特点,深受数据库管理员和开发人员的喜爱。在本文中,我们...
Rapid SQL 是一个整合开发环境,可让开发人员建立,编辑程序、作版本控管、调校效能,及部署服务器端应用程序于Oracle、SQL Server、DB2、Sybase等不同数据库系统
内置一个基于数据库的代码生成器rapid-generator,极易进行二次开发 struts1,struts2的零配置 spring集成及加强,自动搜索hibernate的entity annotation class 集成动态构造sql的工具:rapid-xsqlbuilder 集成...
【Rapid SCADA示例:Modbus和MQTT】是一个详细的教程,旨在引导用户通过从零开始设置一个基于Rapid SCADA 6的系统,该系统能够与Modbus TCP通信并发布数据到MQTT服务器。这个过程涵盖了从安装IIS(Internet ...
RapidMiner是一款流行的分析工具,支持数据挖掘、机器学习、文本挖掘和预测分析等任务。它提供了直观的图形界面,让数据分析者可以很方便地进行数据处理、模型构建和评估等操作。 在描述中提到的“学习RapidMiner挺...
在数据挖掘和分析领域,RapidMiner是一个强大的工具,它提供了一系列高级功能来优化数据处理流程。本章重点讨论了宏、循环和数据集处理,这些都是提高效率和自动化复杂任务的关键技术。 首先,宏在RapidMiner中是...
RapidMiner是一款功能强大的数据挖掘工具,广泛应用于数据分析和处理领域。由于其简洁的用户界面和强大的数据处理能力,RapidMiner在业界和学术界得到了广泛的应用。RapidMiner提供了丰富的数据挖掘算法,包括分类、...
RapidMiner Studio包含了1500多个专业数据分析流程:从数据划分到以市场为基础的分析,再到属性生成,它包含了所有您需要的数据挖掘工具。同时也包含了文本挖掘,网页挖掘,对来自网络论坛的信息的自动情感分析...
RapidSVN是一个使用C++与wxWidgets开发的跨平台、可视化SVN客户端。RapidSVN的开发初衷,是想综合现有的版本控制架构特性,做一个最佳的图形化Subversion客户端,对新接触版本控制系统的用户保持简易性、能够快速...
- **本机语言过滤器构造 (Native Language Filter Construction)**:这是LLBLGen Pro中的一个特性,允许开发者使用C#或VB.NET来构建SQL查询语句,提高了代码的可读性和可维护性。 - **强类型数据集 vs LLBLGen Pro**...