阅读更多

16顶
2踩

企业架构

原创新闻 guzz1.2.8 正式版发布--支持注解与动态SQL

2010-06-21 10:06 by 正式记者 myreligion 评论(9) 有7055人浏览
SQL

guzz是一套用来解决ORM、多数据源管理、以及通用数据计算的数据层框架,为系统在数据层的设计提供一站式解决方案。guzz可以看作是 ibatis/hibernate的一大的延伸,并可以取代这2个东西。

guzz主要功能与特点:
  • 现代大规模系统设计,技术上吸收了ibatis/hibernate的优点
  • 支持像hibernate一样的对象化持久、映射和方便的增删改查
  • 支持像ibatis一样,让dba参与sql设计的复杂数据库操作和优化
  • 支持在线加载与调试SQL。按照应用策略,从文件/数据库/Web Service等途径,动态提取与使用SQL语句(Dynamic SQL)
  • 支持应用程序使用大量的数据库和主从读写分离
  • 支持超越范式的特殊关联、非结构化数据等异构资源的统一管理
  • 支持数据表在多组机器间水平分布(Shard),并自动维护多组机器之间的分布式事务
  • 支持1张表按照业务规则分切成多张小表(Shadow),并支持每张小表拥有自己特殊的属性字段(Custom)
  • 支持组件化服务(SOA),构建企业/项目实施基础平台
  • 提供面向对象的数据库读取标签(JSP Taglib),加快页面展示层的快速变更、开发与部署
  • 支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理
项目地址:http://code.google.com/p/guzz/
文档:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6
下载:http://code.google.com/p/guzz/downloads/list

1.2.8 更新介绍:

支持(JPA)annotation

支持按照JPA规范的annotation进行对象映射声明,同时为了实现guzz特有的功能,对annotation进行了扩展。扩展方式与hibernate类似,如果看到与hibernate annotation名字相同的注解,含义和用法也基本相同。

更多介绍请参看使用手册:
Guzz Annotation使用帮助:http://code.google.com/p/guzz/wiki/TutorialHbmAnnotation

Guzz Annotation参考手册:http://code.google.com/p/guzz/wiki/AppendJPAAnnotation

支持动态管理SQL:

动态SQL(Dynamic SQL)不是指应用程序动态的拼接SQL语句,动态SQL是指应用程序可以动态的获取配置好的SQL语句。在获取的过程中,SQL语句如何管理,由应用系统自身决定。

换句话说,在ibatis中,SQL语句配置到ibatis.xml文件中,在guzz中,配置到guzz.xml中。但当配置完成后,在系统运行期间这些SQL都是不能变动的,如果需要添加1个或者修改优化1个SQL语句,必须重启应用才能生效。而动态SQL允许应用系统动态的管理(添加/修改/优化/删除)sql语句以及查询结果到对象的映射关系(ORM),对于SQL的变更不再需要重启应用系统,以简化维护与应对需求变化。

动态SQL主要有两种应用场景:SQL优化和动态数据源。具体介绍请参看:http://code.google.com/p/guzz/wiki/TutorialDynamicSQLService

使用动态SQL的应用设计架构参考:http://guzz.iteye.com/blog/675955

改进远程服务设计:

增加对hessian, burlap协议的支持。目前guzz内置支持phprpc, hessian, burlap三种协议进行RPC远程调用。使用时,三种协议可以透明替换,类似spring对RMI类协议的封装。具体介绍请参看:http://code.google.com/p/guzz/wiki/TutorialFutureService

增加枚举类型与类型参数化支持:

按照TopLink的模式,支持JDK5 enum。Enum在使用时和普通类型一样,不需要实现特殊的接口(hibernate要求实现接口)。Enum支持通过JPA的Enumeration注释声明,也支持在hbm.xml中通过xml定义。通过xml的定义方式参看:http://code.google.com/p/guzz/wiki/TutorialHbmXml

类型参数化为guzz的特殊功能,用于处理动态SQL参数和Jsp Taglib条件参数时,将String类型自动转换成需要的数据类型。参数化类型主要为日期和枚举。详细介绍:http://code.google.com/p/guzz/wiki/TutorialHbmXml

增加对数据库保留字的支持:

在定义数据库列名时,可以用`(ESC下面的键)将列名引起来,避免字段名称与数据库保留字冲突。此功能与hibernate提供的处理保留字方法相同,但guzz只支持字段,不支持`表名`。

增加对Microsoft SQL Server的支持(未测试):

参考hibernate实现了一个SQL Server 2000 & 2005的dialect,不支持分页。没有测试过。Dialect实现类:org.guzz.dialect.MSSQLDialect

Guzz已经能够支持的数据库和数据类型请参看:
http://code.google.com/p/guzz/wiki/TutorialGuzzXml

其他:

1. 文档进行了大范围的补充和更新;

2. 修复了所有已经发现的bug。

下一版本计划:

  • 增加对spring事务的兼容。
  • 设计一些常见的服务,推广guzz基础服务理念。

16
2
评论 共 9 条 请登录后发表评论
9 楼 tedeyang 2010-06-22 23:21
有shard是个好东西。
8 楼 masuweng 2010-06-22 16:46
[/color][color=yellow]
引用

    [*]
[img][/img][url][/url][size=x-small][/size][align=right][/align]
7 楼 myreligion 2010-06-22 10:42
LSQ6063 写道
具体没用过,请问支持JNDI吗?

可以将JNDI中的连接池作为数据源,不过没有实现。没有测试环境。实现也非常简单,JDNI当作自定义连接池提供者实现一个接口即可。
6 楼 LSQ6063 2010-06-22 09:15
具体没用过,请问支持JNDI吗?
5 楼 myreligion 2010-06-21 15:24
wendal 写道
不错嘛

越来越强大了 

不过, 应该是我资历尚浅,还没能看出Guzz的实用价值,

至少不是重复的轮子,有自己的特色。有自己的东西,就有其他框架无法代替的业务价值。
4 楼 yefei 2010-06-21 14:42
wendal 写道
不错嘛

越来越强大了 

不过, 应该是我资历尚浅,还没能看出Guzz的实用价值,

那就别乱评论,免得误导大众
3 楼 jbon 2010-06-21 14:15
看起来不错,不知道实用效果如何?
有用的没,出来说说
2 楼 wendal 2010-06-21 13:54
不错嘛

越来越强大了 

不过, 应该是我资历尚浅,还没能看出Guzz的实用价值,
1 楼 zozoh 2010-06-21 12:04
消灭 0 回复 

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • guzz的「Guzz」-crx插件

    为Guzz启用屏幕共享。 此扩展程序允许www.guzz.io用户共享桌面屏幕 支持语言:English

  • mysql注解查询动态sql_数据层框架guzz1.2.8 正式版发布 支持注解与动态SQL

    guzz是一套用来解决ORM、... guzz主要功能与特点: 现代大规模系统设计,技术上吸收了ibatis/hiberguzz是一套用来解决ORM、多数据源管理、以及通用数据计算的数据层框架,为系统在数据层的设计提供一站式解决方案。...

  • guzz1.2.8 beta2发布--支持动态加载在线调试SQL

    guzz是一套用来解决ORM、多数据源管理、以及通用数据计算的数据层框架,为系统在数据层的设计提供一站式解决方案。guzz可以看作是 ibatis/hibernate的一大的延伸,并可以取代这2个东西。 guz...

  • Guzz-crx插件

    语言:English 为Guzz启用屏幕共享 此扩展程序允许www.guzz.io用户共享桌面屏幕

  • php-sdk:用于连接到MultiSafepay REST API的默认PHP库

    MultiSafepay PHP SDK关于...如果您没有安装任何客户端实现,请使用以下命令: composer require guzzlehttp/guzzle如果您没有安装任何工厂实现,请使用以下命令: composer require http-interop/http-factory-guzz

  • Guzz源码分析(四) guzz加载config-server信息

    1. 感觉有点懒惰了,两天没有写了,今天继续分析guzz加载config-server信息,说直接点就是解析guzz.xml中config-server配置的properties   <config-server> <server class="org.guzz...

  • guzz1.2.8 beta1基本就绪,开始支持annotation~~

    终于支持(JPA的)annotation了。 编写与测试已经通过,线上运行也还行(没有伤筋动骨的改动)。 看到nutz发布了新版本,不争人气,等两天再发 :D 帮助这次全部放到了google的wiki上,不用2个网站一起捣腾...

  • 分布式设计很简单--guzz分布式切表功能正式发布

    今天,经过一个多月的线上运行,我们很荣幸的发布guzz 1.2.9分布式切表功能。分布式切表是指将一张大表分切成N张小表,并将这些小表储存到不同的数据库(机器)中,从而实现数据的分散存储和分散查询。  对于...

  • 数据库分布式设计很简单--guzz分布式切表功能正式发布

    今天,经过一个多月的线上运行,我们很荣幸的发布guzz 1.2.9分布式切表功能。分布式切表是指将一张大表分切成N张小表,并将这些小表储存到不同的数据库(机器)中,从而实现数据的分散存储和分散查询。   ...

  • guzz 1.3.0大版本发布,支持Spring事务

    Guzz Spring事务支持标准Spring事务的所有配置,除了嵌套事务和JTA。嵌套事务Hibernate也不支持,如果需要使用,请按照hack Hibernate的方式使用。事务的配置方法为Spring标准配置方式,只需要将transact...

  • guzz1.2.8 beta1核心测试覆盖率达60%

    coverage report: [img]http://dl.iteye.com/upload/attachment/244184/329b77f9-63c9-3c89-ad09-d10f5398c591.png[/img]

  • guzz初始化时配置文件装载与解析过程分析

    为什么80%的码农都做不了架构师?>>>   ...guzz程序的核心为GuzzContext对象,... jpa注解解析还会涉及到JPA2AnnotationsBuilder 转载于:https://my.oschina.net/webas/blog/108529

  • guzz开发jar

    guzz是一套用来进行快速开发和高性能网站设计的java框架,通过ORM、多数据源数据管理、以及通用数据处理,为系统在数据层的设计提供一站式解决方案。用于替代或者补充hibernate或ibatis,并提供更多的大型系统架构...

  • guzz的jar包

    guzz的jar包,工程下直接考过来的,可以直接使用

  • guzz: a empty sample project build20110323.zip

    guzz的学习需要用的练习代码,有一个例子。

  • 计算机术语.pdf

    计算机术语.pdf

  • 包括缺陷和有限视场效应的Etalon模型 matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

  • 基于PLC和组态软件的智能停车场收费系统:电气控制与梯形图程序详解

    内容概要:本文详细介绍了基于PLC(可编程逻辑控制器)和组态软件的智能停车场收费系统的实现方法和技术细节。首先,文章概述了系统的总体架构,指出PLC用于控制停车场的电气设备,而组态软件则提供直观的操作界面。接着,深入解析了PLC梯形图程序的具体逻辑,包括车辆检测、闸门控制、收费计算等功能模块。此外,文章还讨论了接线图的设计原则和注意事项,如防止电磁干扰、确保系统稳定性的措施。最后,介绍了组态画面的设计思路及其优化方法,如动态显示车位状态、实时更新收费信息等。通过这些内容,读者能够全面了解智能停车场收费系统的内部运作机制。 适合人群:从事自动化控制、工业物联网、智能交通等领域的工作技术人员,尤其是对PLC编程和组态软件应用感兴趣的工程师。 使用场景及目标:适用于新建或改造停车场项目的规划与实施阶段,帮助工程师理解和设计类似的自动化控制系统,提高停车场管理效率和服务质量。 其他说明:文中提供了大量实际案例和技术细节,有助于读者更好地掌握相关技术和应对实际工程中的挑战。

  • MATLAB实现电-气-热综合能源系统耦合优化调度模型

    内容概要:本文详细介绍了利用MATLAB及其工具箱YALMIP和求解器CPLEX/Gurobi构建电-气-热综合能源系统耦合优化调度模型的方法。首先,文章描述了电网部分采用39节点系统进行直流潮流建模,气网部分则使用比利时20节点配气网,并对Weymouth方程进行了线性化处理,将非线性问题转化为线性规划问题。热网部分引入了热电联产(CHP)和电转气(P2G)设备,实现了热电耦合。通过模块化设计,代码能够灵活地添加新的能量存储或转换设备。实验结果显示,相比单一网络优化,三网耦合优化降低了12.6%的系统总成本,并显著改善了负荷峰谷差。 适合人群:从事能源系统优化研究的专业人士,尤其是熟悉MATLAB编程和优化理论的研究人员和技术人员。 使用场景及目标:适用于希望深入了解综合能源系统耦合优化调度机制的研究人员和技术人员。主要目标是掌握如何使用MATLAB搭建电-气-热耦合优化模型,理解各个子系统的数学建模方法以及它们之间的相互作用。 其他说明:文中提供了详细的代码片段和解释,帮助读者更好地理解和复现模型。此外,还讨论了一些实际应用中的注意事项,如求解器的选择、参数调优等。

Global site tag (gtag.js) - Google Analytics