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
分享到:
相关推荐
有喜欢做代码生成器的朋友们,可以下载,这个文档是本人自己在学习过程中总结的,送给喜欢的朋友们!
RapidSVN:轻量级、可视化SVN客户端RapidSVN_0.13.0.8249_PortableSoft
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
作者:H.D.Moore等,目前Rapid7 面世时间:2003 平台:跨平台 版权:开源 渗透工具 漏洞利用类工具 渗透工具 HTTP的请求响应模型 漏洞利用类工具 自动化SQL注入工具 开发者:Bernardo等 基于python开发的工具 平台:...
rapid-framework,hibernate+spring+springMVC 框架整合
Rapid SQL 是一个整合开发环境,可让开发人员建立,编辑程序、作版本控管、调校效能,及部署服务器端应用程序于Oracle、SQL Server、DB2、Sybase等不同数据库系统
内置一个基于数据库的代码生成器rapid-generator,极易进行二次开发 struts1,struts2的零配置 spring集成及加强,自动搜索hibernate的entity annotation class 集成动态构造sql的工具:rapid-xsqlbuilder 集成...
RapidSVN是一个使用C++与wxWidgets开发的跨平台、可视化SVN客户端。RapidSVN的开发初衷,是想综合现有的版本控制架构特性,做一个最佳的图形化Subversion客户端,对新接触版本控制系统的用户保持简易性、能够快速...
支持dao,service,model,xml等基础模块,完全解放生产力,基础代码一键生成
经过前面几章的学习,我们已经知道了数据挖掘的基本流程,在真实的数据挖掘工作中,算法模型的建立所许付出的时间只占一小部分,数据的清洗、转换、加工部分往往占据很大一部分,在这一章中,我们将在学习前面数据...
和专业的Rapid SQL相比,这个SQLDbx更小巧灵活,你可以用它直接从数据库导出数据到excel哦。试试看,绿色免安装给你自己一个惊喜!
Rapid Pick系列自动菌落挑选
docs:Rapid CloudFormation:模块化,可用于生产环境,开源
RapidMiner Python软件包这个Python套件可让您与RapidMiner Studio和AI Hub互动。 您可以使用RapidMiner存储库进行协作,并利用可扩展的RapidMiner AI Hub基础结构来运行流程。 本文档显示了有关如何使用该软件包的...
MS Press - Rapid Development - Taming Wild Software Schedules.part1.rar
$ docker pull workmaze / rapid.mysql $ docker pull workmaze / rapid.sql 运行Docker映像 $ docker run -p {yourportumber}:8080 -e RAPID_MYSQLCONNECTIONSTRING =“ {mysqlconnectionstring}” workma
RapidMiner是世界领先的数据挖掘解决方案,在一个非常大的程度上有着先进技术,特点是图形用户界面的互动原型。 特点:拖拽操作,无需编程,运算速度快。 RapidMiner具有丰富数据挖掘分析和算法功能,常用于解决各种...
本书还描述RapidIO在企业存储、无线基础设施等实际系统中应用的实例,评估与RapidIO相关的编程模型,说明RapidIO硬件的开发、在FPGA中实现RapidIO,以及在VXS、ATCA等各种机械标准中应用RapidIO的实例。 本书取材...
表格,数据,文本集,日志,网址,测量值---这些以及其它类似的信息是每一个数据挖掘流程在一开始就要用到的。准备好的数据会被转化并合并,最后您会得到一个新的或是以不同方式显示出来的数据、模型或报告。在这一...
不管是在透视图主页选择“新建”选项,还是点击RapidMiner Studio主工具栏左边的“新建”图标,还是进入“文件”菜单,都可以新建一个分析流程,以供接下来的使用。 提示:我们建议您把新建的流程保存在您的资源库中...