`
badqiu
  • 浏览: 673542 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

rapid系列:发布一款动态构造sql的工具: XsqlBuilder

阅读更多
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
分享到:
评论
4 楼 暂不存在 2015-10-27  
怎么将{key}中的值替换掉
3 楼 暂不存在 2015-10-27  
怎么将date的值转换成Timestamp,{inDate?Timestamp}怎样吗?
2 楼 暂不存在 2015-10-27  
请问时间类型是Timestamp要怎么查?
1 楼 zingers 2008-07-03  
不错,这个很便利

相关推荐

    动态构造sql的利器rapid-xsqlbuider

    总的来说,Rapid-XSQLBuilder 是一款优秀的工具,它使得动态构造 SQL 语句变得更加简洁、安全,极大地提高了代码的可读性和可维护性,特别适合在代码生成器或者需要动态构建复杂查询的场景中使用。通过掌握其特有的...

    RapidSVN:轻量级、可视化SVN客户端RapidSVN-0.13.0.8249-PortableSoft

    RapidSVN是一款轻量级且用户友好的可视化Subversion(SVN)客户端,专为开发者和团队协作设计。Subversion是一种版本控制系统,用于管理软件项目中的文件和目录的更改历史,使得多人协同开发变得更加高效和有序。...

    Rapid Development - Taming Wild Software Schedules - Part1

    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代码生成工具

    "Rapid代码生成工具"是一款高效实用的软件开发辅助工具,专为提升开发效率而设计。它主要针对MyBatis框架,提供了DAO、Service、Model和XML等基础模块的代码自动生成功能,大大减轻了开发者在项目初期进行基础代码...

    rapid-framework 整合

    Rapid-Framework 是一个基于Java的轻量级开发框架,它结合了Hibernate、Spring和SpringMVC等流行技术,旨在提供一站式解决方案,帮助开发者快速构建稳定且高效的Web应用。本文将深入探讨Rapid-Framework与Hibernate...

    framework rapid

    这个框架的核心理念是通过提供一系列预先设计的组件、模板和工具,简化开发流程,降低项目的复杂性。 在"framework rapid"中,开发者可以利用其强大的功能来快速搭建应用的基础结构。这些功能可能包括数据访问层、...

    Rapid SQL XE CN 产品介绍.pdf

    该工具支持多种数据库平台,并提供了一系列增强功能来优化SQL开发过程。 ### 二、主要特性 #### 1. 多数据库支持 Rapid SQL XE CN支持包括Oracle、SQL Server、MySQL、DB2、Informix、Sybase等在内的多种主流...

    计算机病毒与防护:网络渗透工具漏洞利用类.ppt

    作者:H.D.Moore等,目前Rapid7 面世时间:2003 平台:跨平台 版权:开源 渗透工具 漏洞利用类工具 渗透工具 HTTP的请求响应模型 漏洞利用类工具 自动化SQL注入工具 开发者:Bernardo等 基于python开发的工具 平台:...

    Rapid SQL7.3

    **Rapid SQL 7.3** 是一款强大的数据库管理和开发工具,专为简化数据库操作而设计,特别是针对DB2和Sybase数据库系统。这款工具以其高效、易用和功能全面的特点,深受数据库管理员和开发人员的喜爱。在本文中,我们...

    Rapid SQL v7.6.4.3450 Crack

    Rapid SQL 是一个整合开发环境,可让开发人员建立,编辑程序、作版本控管、调校效能,及部署服务器端应用程序于Oracle、SQL Server、DB2、Sybase等不同数据库系统

    基于spring,struts(struts2),hibernate的web项目脚手架

    内置一个基于数据库的代码生成器rapid-generator,极易进行二次开发 struts1,struts2的零配置 spring集成及加强,自动搜索hibernate的entity annotation class 集成动态构造sql的工具:rapid-xsqlbuilder 集成...

    Rapid SCADA示例:Modbus和MQTT

    【Rapid SCADA示例:Modbus和MQTT】是一个详细的教程,旨在引导用户通过从零开始设置一个基于Rapid SCADA 6的系统,该系统能够与Modbus TCP通信并发布数据到MQTT服务器。这个过程涵盖了从安装IIS(Internet ...

    RapidMiner数据分析与挖掘实战——中文

    RapidMiner是一款流行的分析工具,支持数据挖掘、机器学习、文本挖掘和预测分析等任务。它提供了直观的图形界面,让数据分析者可以很方便地进行数据处理、模型构建和评估等操作。 在描述中提到的“学习RapidMiner挺...

    快速数据挖掘数据分析实战RapidMiner工具应用第17章 宏、循环和数据集处理V4.1.pdf

    在数据挖掘和分析领域,RapidMiner是一个强大的工具,它提供了一系列高级功能来优化数据处理流程。本章重点讨论了宏、循环和数据集处理,这些都是提高效率和自动化复杂任务的关键技术。 首先,宏在RapidMiner中是...

    Rapidminer中文手册

    RapidMiner是一款功能强大的数据挖掘工具,广泛应用于数据分析和处理领域。由于其简洁的用户界面和强大的数据处理能力,RapidMiner在业界和学术界得到了广泛的应用。RapidMiner提供了丰富的数据挖掘算法,包括分类、...

    快速数据挖掘数据分析实战RapidMiner工具应用第2章 RapidMiner简介V1.1.pdf

    RapidMiner Studio包含了1500多个专业数据分析流程:从数据划分到以市场为基础的分析,再到属性生成,它包含了所有您需要的数据挖掘工具。同时也包含了文本挖掘,网页挖掘,对来自网络论坛的信息的自动情感分析...

    RapidSVN工具

    RapidSVN是一个使用C++与wxWidgets开发的跨平台、可视化SVN客户端。RapidSVN的开发初衷,是想综合现有的版本控制架构特性,做一个最佳的图形化Subversion客户端,对新接触版本控制系统的用户保持简易性、能够快速...

    Rapid C# Windows Development

    - **本机语言过滤器构造 (Native Language Filter Construction)**:这是LLBLGen Pro中的一个特性,允许开发者使用C#或VB.NET来构建SQL查询语句,提高了代码的可读性和可维护性。 - **强类型数据集 vs LLBLGen Pro**...

Global site tag (gtag.js) - Google Analytics