SqlBuilder (OpenHMS) 2.0.10发布 SQL生成库

SqlBuilder是一个SQL生成库,它用于减少Java程序中生成SQL查询的负担。它使用一种编程语言(Java)来生成另一种语言的代码(即SQL)。它的特点是在轻量级、易于使用的Java对象中封装SQL语法,遵循类似于StringBuilder 的 builder范例。它能够改变很多常见的SQL语法和运行时错误到Java编译时错误。

嵌入在Java程序中的一个很简单的SQL SELECT查询代码,如下:

// assuming a variety of pre
defined string constants

String selectQuery = "SELECT " + T1_COL1 + "," + T1_COL2 + "," +

&">nbsp; T2_COL1 + " FROM " + TABLE1 + " " + T1 + " INNER JOIN " +

  TABLE2 + " " + T2 + " ON (" + T1_IDCOL + " = " + T2_IDCOL +

  ") ORDER BY " + T1_COL1;

试图改善的代码如下:

String selectQuery = MessageFormat.format(

  "SELECT {0},{1},{2} FROM {3} {4} INNER JOIN {5} {6} ON ({7} = {8}) " +

  "ORDER BY {9}",

  T1_COL1, T2_COL2, T2_COL1, TABLE1, T1, TABLE2, T2,

  T1_IDCOL, T2_IDCOL, T1_COL1);

SqlBuilder 类对应的代码如下:

// assuming these objects have already been created
Table table1, table2;
Column t1Col1, t1Col2, t2Col1;
Join joinOfT1AndT2;

String selectQuery =
  (new SelectQuery())
  .addColumns(t1Col1, t1Col2, t2Col1)
  .addJoin(SelectQuery.JoinType.INNER_JOIN, joinOfT1AndT2)
  .addOrderings(t1Col1)
  .validate().toString();

SqlBuilder (OpenHMS) 2.0.10版本主要是添加支持SQL构造的灵活性。相关的SQL构造无别名处理表,DbTable现在可以建造一个明确的别名。添加 SelectQuery addCustomJoin来允许完全17813.html">可定制的JOIN子句。ComboCondition、UnaryCondition、BinaryCondition 和 ComboExpression,现在都可以定制运算符。现在所有的条件和表达式的选项来禁用包装括号。

软件信息:http://openhms.sourceforge.net/sqlbuilder/

下载地址:http://nchc.dl.sourceforge.net/project/openhms/sqlbuilder/sqlbuilder%202.0.10/sqlbuilder-2.0.10.jar

时间: 2024-09-20 08:02:10

SqlBuilder (OpenHMS) 2.0.10发布 SQL生成库的相关文章

isl 0.10发布 整数集合库

isl 是Integer Set Library的简写,是一款操作集和线性约束范围内整数点关系的库.支持的操作集包括:交集.并集.差集.空虚检查,凸壳.仿射包(整数).整数投影,以及使用参数整数规划进行最小限度的字典计算.它还包括一个整数的规划求解基于广义的基础. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; isl 0.10该版本支持多准仿射表达的改善和修复各种小错误. 软件信息:http://www.kot

Media Server Control Panel 0.10发布

Media Server Control Panel 0.10该版本增加音频流的转码支持.输入格式可以是MP3,OGG或AAC+.输出格式可以是MP3或OGG(立体声/单声道).立体声工具音频处理器添加到音频流转码器.(这需要SSE2支持).在"管理员"页面有较小的改动. Media Server Control Panel是一个具有综合功能的Icecast2管理接口.管理员可以创建用户,然后编辑访问权限,设置监听器插槽的数量,启用或禁用AutoDJ等,用户可以通过一个基于Web的界面

Apache Tomcat v7.0.10发布

Tomcat是应用(java)服务器,它只是一个servlet容器,是http://www.aliyun.com/zixun/aggregation/14417.html">Apache的扩展. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet). Tomcat是一个开放源代码.运行servlet和JSP Web应用软件的基于Java的Web应用软件容器.Tomcat Server是根据servlet和JSP规范

FeResPost 4.0.10发布 后处理小程序的快速开发库

FeResPost是一个库,用于Nastran或Samcef有限元计算结果的后处理小程序的快速开发.该库允许有限元模式.群组和结果的简单操作.通过由编写C++/C++的耗时操作,支持有效的后处理.该库是分布式,用来作为一个COM组件,NET程序集,以及一个http://www.aliyun.com/zixun/aggregation/13430.html">Ruby扩展编译. FeResPost 4.0.10版本当Nastran OP2或xdb 结果文件结果读取时,使用默认属性的负载情况下

WiKID Strong Authentication System Blackberry Software token 3.0.10发布

WiKID Strong http://www.aliyun.com/zixun/aggregation/11646.html">Authentication System 是一个可扩展的安全双因素认证系统,易于实施和管理,无需硬件tokens,用户就可以自动进行验证.它通过Ruby.PHP.Java.COM.Python,支持简单的API,多重域,故障容错和可扩展性的复制,它还支持相互/主机和交易认证,锁定tokens 到PC,等等. WiKID Strong Authenticatio

STALLioN 0.10发布 终端程序创建库

STALLioN 是一个跨平台的C++/C++库,用于在一个代码库多平台上创建相关的CLI终端程序.它旨在提供一致的开发API来兼容多平台,使其单独的代码创建多平台的终端界面. STALLioN 主要特点: • 跨平台AP• 多功能彩色文本输出• 光标控制• 集成的字符串和数字输出• 可同时处理多个显示缓冲区,并在它们之间切换 STALLioN 0.10该版本改进了支持Windows的iogetch功能,增加了简单的标点符号/非字母数字的ASCII字符支持.新的密钥是从布局到不同的布局,目前标准

IMP H4 (5.0.10)发布 互联网通讯程序

IMP H4 (5.0.10)该版本改进搜索功能.一个标志来表明邮件列表.手动过滤收件箱已得到修复.小的错误修正和改进. IMP是the Internet Messaging Program的简写,是一个由PHP编写的互联网通讯程序.支持访问IMAP和POP3http://www.aliyun.com/zixun/aggregation/12489.html">邮件服务器,并提供一系列在桌面电子邮件客户端功能. 下载地址:http://www.horde.org/apps/imp/docs

Lua OS 0.10发布 Lua's封装工具

Lua是一个简单有趣的脚本语言.Lua OS是一个以Lua's封装为基础来完成OS的功能,如系统休眠,登录,重启,移动,流动性和灵活的安全http://www.aliyun.com/zixun/aggregation/6926.html">管理能力. Lua OS 0.10版本支持可引导和可安装的主要分布在Live-CD功能.此版本与某些图形卡兼容,可以自动升级到最新版本. 软件信息:http://luaos.net/ 下载地址:http://luaos.net/download/file

ashd 0.10发布 HTTP服务器

Ashd是一个标准的Unix模块化理念的HTTP服务器.它不是一个可加载模块,只是一个使用简单协议HTTP请求的简单易用的程序集合.该服务器允许处理程序的持久性,会话数据可以保存在内存中,连接到后端服务可以保持开放,等功能. ashd 0.10该版本增加了配置选项,将http://www.aliyun.com/zixun/aggregation/38653.html">信息传递给处理程序,并提高了文档. 软件信息:http://www.dolda2000.com/~fredrik/ashd