postgresql 动态添加过滤条件_XsqlFilterResult----动态生成sql语句的类,过滤一些为空的查询条件...
XsqlBuilder用于可以动态构造sql语句,避免在构造sql时使用过多的 if 判断,与SafeSqlProcesser集成提供防止sql注入攻击,与DataModifier集成完成数据类型的转换
动态构造sql示例:
Java代码
String xsql = "select * from user where1=1
/~ and username = {username} ~/
/~ and password = {password} ~/
/~ and age = [age] ~/
/~ and sex = [sex] ~/"
Map filters = newHashMap();
filters.put("username","badqiu");
filters.put("age","12");
filters.put("sex","");
XsqlFilterResult result = xsqlBuilder.applyFilters(xsql,filters);
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()将会等于
Sql代码
select*fromuserwhere1=1andusername={username}andage=12
select * from user where 1=1 and username={username} and age=12
被过滤删除的段: /~ and password = {password} ~/这一段由于在filters中password不存在而没有被构造出来 /~ and sex = [sex] ~/由于sex的值为空串也没有被构造出来
最后result.acceptedFilters值
Java代码
Map acceptedFilters = result.getAcceptedFilters();
会等于:
{username=badqiu}
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
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
postgresql 动态添加过滤条件_XsqlFilterResult----动态生成sql语句的类,过滤一些为空的查询条件...相关推荐
- JS动态修改页面EasyUI datebox不生效、EasyUI动态添加Class、EasyUI动态渲染解析解决方案
JS动态修改页面EasyUI datebox不生效.EasyUI动态添加Class.EasyUI动态渲染解析解决方案 参考文章: (1)JS动态修改页面EasyUI datebox不生效.EasyUI ...
- excel动态生成Sql语句
文章目录 0. 前言 1. 先说结论 2. 例子 0. 前言 由于工作原因,无意中发现有时候有些数据来由形式是excel文件,需要把里面的值变成sql语句,然后去数据库中执行. 因此记录下如何让exc ...
- 解放程序员双手!GPT-3自动生成SQL语句 | 代码开源
金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI "无所不能"的GPT-3,现在又来解放程序员们的双手了. 像这样,只需用简单的英文问下GPT-3"上个月注册了 ...
- Excel表格生成sql语句
假如excel表格中有A.B.C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age ,在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下: ...
- 码匠 × OpenAI :快速生成 SQL 语句,提升开发效率!
目录 使用 OpenAI 生成 SQL 码匠连接与集成 OpenAI 总结 关于码匠 在码匠中,编写 SQL 语句,并结合码匠一系列开箱即用的组件实现复杂的业务逻辑,是很常见的应用开发场景.然而,不同 ...
- oracle添加表的索引,oracle批量添加指定表前缀的索引SQL语句
oracle批量添加指定表前缀的索引SQL语句 需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀 ##需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀 declare --用户名 ...
- mysql语句生成,SQL语句生成器
SQL语句自动生成器正式版是一款功能强大.十分实用方便的数据库编程软件,可以帮助用户简便快捷的生成sql语句,SQL语句自动生成器正式版支持桌面数据库和大中型数据库,以及排序.条件.分组.函数等多种s ...
- NO2:自动生成sql语句
SQL语句自动生成工具 大哉乾元 2016/2/26 作者原创转载请注明出处 前言 这个程序是几年前做成的,现在整理成文档和大家分享,当时参与的项目中大量使用的sql语句,所以SqL语句的代码输入 ...
- 用一个类根据Model属性生成SQL语句
想到写这个的原因是我和我的一个朋友在写一个开源项目的时候,我负责了数据库的持久化存储部分,结果他看到了我的数据库数据存储结构之后直接傻眼了,因为个人比较简单粗暴,直接把一个数据Model归档成为二进制 ...
最新文章
- HTTP请求过程详解
- 宋祖儿面对粉丝不停撩头发,手上的书本亮了,是要转行当程序员?
- 从C语言的角度重构数据结构系列(四)-静态链表动态链表
- Spring AOP之ThrowsAdvice
- Microsoft发布用于统一事件处理的Azure事件网格
- python升级pip在哪儿打开_Linux下升级python和安装pip的详解
- 中国首辆火星车全球征名,李彦宏推荐命名:祝融
- java怎么查问题,java线上问题排查(日志、资源、代码定位)
- java中实体类中实现Serializable接口的作用
- [HDOJ1823] Luck and Love(线段树,树套树)
- Javascript特效:天猫导航
- 单晶X射线衍射法和粉末X射线衍射法有哪些不同?
- 什么无线桥接一直正在链接服务器失败,无线桥接连接失败_WDS无线桥接不成功怎么办?-192路由网...
- 如何查看自己网站的访问量
- NFA到DFA的子集构造法
- 你还不知道邮件可以撤回吗?学会邮件怎么撤回,远离办公社死现场
- CopyOnWrite
- Java是什么?我们为什么要学习Java?
- 软件测试人员的职业晋升之路
- 1.MySQL 官网安装包下载教程