阅读更多

6顶
0踩

开源软件

原创新闻 guzz 1.3.1 发布,优秀的 Java ORM 框架

2012-07-17 15:41 by 正式记者 myreligion 评论(17) 有13934人浏览
guzz 1.3.1 20120712更新介绍:

大版本更新噢:

1. 动态拼接SQL终于发布啦,等的花都谢了。现在,你可以写一个有条件的sql语句,然后在执行时,guzz会根据传入的参数构造成真正需要的sql语句,然后再绑定参数执行。guzz默认是基于Velocity模板实现的,于是动态SQL拼接的语法、灵活性、易用性、学习成本是绝对足够的,velocity文档也是绝对的丰富和成熟。来仔细瞧瞧吧:http://code.google.com/p/guzz/wiki/TutorialTemplatedSQLService?wl=zh-Hans

2. 受够了一个一个的添加域对象到guzz.xml中?是解放自己的时候啦。面对着大半年来的各种诉求,1.3.1版这次终于良心发现,增加了package-scan功能。咱们也可以扫描文件并批量添加business啦。看这里:http://code.google.com/p/guzz/wiki/TutorialHbmPackageScan?wl=zh-Hans

3. 在SQL中写时间串就报错? 虽然是小功能,但转义字符支持这次还是放出来啦。不害怕SQL注入,一门心思拼接SQL语句的孩纸们请看这里:http://code.google.com/p/guzz/wiki/TutorialGuzzXml?wl=zh-Hans#sql语句中特殊字符转义

4. JDNI数据源这次也支持啦。感谢波波提供的代码。借机也感谢波波提供的其他代码。http://code.google.com/p/guzz/wiki/TutorialDatasourceProvider?wl=zh-Hans#guzz内置连接池实现

5. 其他小功能和bug修正,就不废话了。你有兴趣就自己去对比SVN代码吧。

什么是guzz?

guzz是一套用于多数据库编程的Java ORM框架,用于替代hibernate和ibatis,实现在一套系统中轻松使用多台数据库。guzz同时提供通用数据计算和配置管理等,简化系统复杂度,为系统在数据层的设计提供一站式解决方案。

guzz主要功能与特点:

  • 现代大规模系统设计,技术上吸收了ibatis/hibernate的优点
  • 支持应用程序使用大量的数据库和主从读写分离
  • 支持数据库表在多组机器间水平分布(Shard),并自动维护多组机器之间的分布式事务
  • 支持1张表按照业务规则分切成多张小表(Shadow),并支持每张小表拥有自己特殊的属性字段(Custom)
  • 支持1张大表分切后的小表,分布到不同的数据库中(VirtualDB)
  • 支持超越范式的特殊关联、非结构化数据等异构资源POJO模式的统一读取
  • 支持组件化服务(SOA)和服务相互依赖,构建企业/项目实施基础平台
  • 提供面向对象的数据库读取标签(JSP Taglib),加快页面展示层的快速变更、开发与部署
  • 对于大部分场景,支持像hibernate一样的对象持久、映射和方便的增删改查,提高开发效率
  • 对于复杂场景,支持像ibatis一样,让DBA参与SQL设计的复杂数据库操作和优化,以及SQL在线调试
  • 更简洁、更好用、更容易控制的批操作接口
  • 支持在线加载与调试SQL。按照应用策略,从文件/数据库/Web Service等途径,动态提取与使用SQL语句(Dynamic SQL)
  • 支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理
项目地址:http://code.google.com/p/guzz/
文档:http://code.google.com/p/guzz/wiki/AboutGuzz?tm=6
下载:http://code.google.com/p/guzz/downloads/list
新浪微博:http://weibo.com/guzzframework
扣扣群: 36429094  218658794
Mail List:https://lists.sourceforge.net/lists/listinfo/guzz-mail-users
6
0
评论 共 17 条 请登录后发表评论
17 楼 finallygo 2012-07-20 23:20
vlinux 写道
finallygo 写道
vlinux 写道
finallygo 写道
vlinux 写道
真心觉得吧,如果你屏蔽了编写SQL那一环节,一旦遇到DB性能问题,DBA根本无法和一线开发人员沟通。。。

实际的开发中DBA根本不会看你项目中的代码的,直接看slow sql日志就好了


不是的,dba丢给你一堆让db挂住的sql,但是如果这堆sql不是你亲自写的,你根本就不知道对应的业务,更无从下手优化。

呃....每个人负责的应用都是独立的数据库吧...,即使不是独立的mysql实例,至少数据库名是独立的吧,而且DBA可能只是把sql发给你们团队的负责人,之后他再找到相应的人的...为什么会是一堆的sql呢,DBA可以找出具体是哪句sql语句导致查询缓慢的吧....


恩,请华丽的忽略我一堆这个虚的量词~偶想说的是,dba的确是有可能找到是那个sql造的孽,只不过这条sql对应那个应用,如果这条sql是动态拼成的,那想要这个应用TL一时间找出来还真心困难。尤其是面对万能SQL的场景,更是吐血。

呃...这可能是企业应用和互联网应用的区别吧,总之,我们是不会出现什么复杂的查询的,也不允许使用关联查询...但是即使是你说的情况,关联的表还是能找到吧,找到关联的表就可以知道谁负责了呀...如果说你们随便可以使用别人的表也可以不记录的话,那我就没有什么好说的了...
16 楼 myreligion 2012-07-19 12:29
dyllove98 写道
xiaopie 写道
这些框架吧,就是写花架子。即提高不了工作效率也不利于调优。 做些小项目用用还可以。其他就别用了。

真正商用起来就bug 频发而且不稳定.

你用过嘛?没用过就不要以实际用户的口气发评论。
15 楼 vlinux 2012-07-19 00:03
finallygo 写道
vlinux 写道
finallygo 写道
vlinux 写道
真心觉得吧,如果你屏蔽了编写SQL那一环节,一旦遇到DB性能问题,DBA根本无法和一线开发人员沟通。。。

实际的开发中DBA根本不会看你项目中的代码的,直接看slow sql日志就好了


不是的,dba丢给你一堆让db挂住的sql,但是如果这堆sql不是你亲自写的,你根本就不知道对应的业务,更无从下手优化。

呃....每个人负责的应用都是独立的数据库吧...,即使不是独立的mysql实例,至少数据库名是独立的吧,而且DBA可能只是把sql发给你们团队的负责人,之后他再找到相应的人的...为什么会是一堆的sql呢,DBA可以找出具体是哪句sql语句导致查询缓慢的吧....


恩,请华丽的忽略我一堆这个虚的量词~偶想说的是,dba的确是有可能找到是那个sql造的孽,只不过这条sql对应那个应用,如果这条sql是动态拼成的,那想要这个应用TL一时间找出来还真心困难。尤其是面对万能SQL的场景,更是吐血。
14 楼 finallygo 2012-07-19 00:03
vlinux 写道
finallygo 写道
vlinux 写道
真心觉得吧,如果你屏蔽了编写SQL那一环节,一旦遇到DB性能问题,DBA根本无法和一线开发人员沟通。。。

实际的开发中DBA根本不会看你项目中的代码的,直接看slow sql日志就好了


不是的,dba丢给你一堆让db挂住的sql,但是如果这堆sql不是你亲自写的,你根本就不知道对应的业务,更无从下手优化。

而且我们的DBA有提供一些系统支持的,每周都会统计出查询缓慢的sql让我们开发人员去看,然后进行改进...
13 楼 finallygo 2012-07-18 23:59
vlinux 写道
finallygo 写道
vlinux 写道
真心觉得吧,如果你屏蔽了编写SQL那一环节,一旦遇到DB性能问题,DBA根本无法和一线开发人员沟通。。。

实际的开发中DBA根本不会看你项目中的代码的,直接看slow sql日志就好了


不是的,dba丢给你一堆让db挂住的sql,但是如果这堆sql不是你亲自写的,你根本就不知道对应的业务,更无从下手优化。

呃....每个人负责的应用都是独立的数据库吧...,即使不是独立的mysql实例,至少数据库名是独立的吧,而且DBA可能只是把sql发给你们团队的负责人,之后他再找到相应的人的...为什么会是一堆的sql呢,DBA可以找出具体是哪句sql语句导致查询缓慢的吧....
12 楼 vlinux 2012-07-18 22:26
finallygo 写道
vlinux 写道
真心觉得吧,如果你屏蔽了编写SQL那一环节,一旦遇到DB性能问题,DBA根本无法和一线开发人员沟通。。。

实际的开发中DBA根本不会看你项目中的代码的,直接看slow sql日志就好了


不是的,dba丢给你一堆让db挂住的sql,但是如果这堆sql不是你亲自写的,你根本就不知道对应的业务,更无从下手优化。
11 楼 finallygo 2012-07-18 22:19
vlinux 写道
真心觉得吧,如果你屏蔽了编写SQL那一环节,一旦遇到DB性能问题,DBA根本无法和一线开发人员沟通。。。

实际的开发中DBA根本不会看你项目中的代码的,直接看slow sql日志就好了
10 楼 dyllove98 2012-07-18 17:51
xiaopie 写道
这些框架吧,就是写花架子。即提高不了工作效率也不利于调优。 做些小项目用用还可以。其他就别用了。

真正商用起来就bug 频发而且不稳定.
9 楼 gxz1989611 2012-07-18 14:11
有时间玩玩看~貌似有点意思
8 楼 lost_alien 2012-07-18 11:17
与ibatis和hibernate比,优势在哪儿?
7 楼 iceblooded 2012-07-18 10:50
开发团队是哪里的?中国的还是国外的?
6 楼 paggywong 2012-07-18 10:48
支持一下!用Guzz确实给项目带了便利。看到这个开源项目正在发生一些可喜的变化,赞
5 楼 tedeum 2012-07-18 10:18
和hibernate有什么区别和优势
4 楼 myreligion 2012-07-18 08:25
xiaopie 写道
这些框架吧,就是写花架子。即提高不了工作效率也不利于调优。 做些小项目用用还可以。其他就别用了。

不了解就不要发表观点。
3 楼 xiaopie 2012-07-18 08:20
这些框架吧,就是写花架子。即提高不了工作效率也不利于调优。 做些小项目用用还可以。其他就别用了。
2 楼 myreligion 2012-07-18 08:15
vlinux 写道
真心觉得吧,如果你屏蔽了编写SQL那一环节,一旦遇到DB性能问题,DBA根本无法和一线开发人员沟通。。。


没有屏蔽啊。DBA现在更加容易的介入,像ibatis一样,sql可以写到配置文件中的。
1 楼 vlinux 2012-07-17 19:16
真心觉得吧,如果你屏蔽了编写SQL那一环节,一旦遇到DB性能问题,DBA根本无法和一线开发人员沟通。。。

发表评论

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

相关推荐

  • 【数据库06】web应用程序开发的任督二脉

    应用程序性能 7.1 高速缓存 7.2 并行处理 8.应用程序安全性 8.2 SQL注入 8.2 跨站点脚本和请求伪造 8.3 密码泄露 8.4 应用级认证 8.5 应用级授权 8.6 审计追踪 8.7 隐私 9.加密及其应用 9.1 加密技术 9.2 数据库中的...

  • 适用于更具弹性的应用程序的现代配方

    Kubernetes , Docker和微服务就是现在创建新应用程序软件的方式。 对于新的应用程序,通常在您的前端与移动应用程序的后端的请求层之间有一个图形 。 但是,此后,仍然存在一个Web circa-2007请求,该请求通过数个...

  • apache shiro_Apache Shiro的应用程序安全性

    将Apache Shiro和Java EE 7配对-了解如何在JavaEE7应用程序中使用Shiro以及如何在Web应用程序中使用Shiro。 下载免费的gudeide。 尝试保护应用程序安全时,您感到沮丧吗? 您是否认为现有的Java安全解决...

  • shiro保护你的应用程序

    Apache Shiro(发音为“shee-roh”,日语“堡垒(Castle)”的意思)是一个强大易用的Java安全框架,[color=red][b]提供了认证、授权、加密和会话管理功能[/b][/color],可为任何应用提供安全保障 - 从命令行应用、...

  • 客户端架构

    除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。 架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构是一系列...

  • 《Java并发编程实战》【第二部分 结构化并发应用程序】

    任务执行6.1 在线程中执行任务6.1.1 串行的执行任务6.1.2 显式地为任务创建线程6.1.3 无限制创建线程的不足6.2 Executor框架6.3 线程池第7章 取消与关闭第8章 线程池的使用第9章 图形用户界面应用程序 第6章 任务...

  • Java Web 应用程序转换为 ASP.NET

    JavaWeb应用程序转换为ASP.NET BrianJimerson 本文讨论: ·资源定位 ·I/O流 ·日志记录和集合 ·重构 本文使用了以下技术:ASP.NET、JLCA和C# 下载本文中所用的代码:JLCA2007_05.exe...

  • 弹性盒布局适用场景_适用于更具弹性的应用程序的现代配方

    弹性盒布局适用场景 Kubernetes , Docker和微服务就是现在创建新应用程序软件的方式。 对于新应用程序,通常在您的前端与移动应用程序的后端的请求层之间有一个图形 。 但是,在那之后,仍然存在一个Web circa-2007...

  • 使用 JLCA 将 Java Web 应用程序转换为 ASP.NET

    FW: http://msdn.microsoft.com/msdnmag/issues/07/05/Migration/Default.aspx?loc=zh迁移使用 JLCA 将 Java Web 应用程序转换为 ASP.NET Brian Jimerson

  • javaswing界面设计教程,月薪30K

    两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什么作用? java 中的 Math.round(-1.5) 等于多少? String 属于基础的数据类型吗? java 中操作字符串都有哪些类?它们之间有什么...

  • .NET在国内外应用的具体实例

    1.概述1.1 应用场景从平台...基本上感觉不出来CLR启动和加载程序集的明显延迟,而不管用AWT,Swing还是SWT,JVM启动和加载类库的延迟是非常明显的,因此 .NET CLR的运行效率比JVM高。 从企业开发的角度上讲,C#需要SQ

  • 牛逼!Java 从入门到精通,超全汇总版

    书中涉及的 Swing 图形化接口和 GUI 这部分可以不用学习,或者作为简单了解,因为现在几乎很少有人 拿 Swing 开发桌面化程序。 这本书可以说是非常适合小白的一本了,零基础就可以看,Head First 系列的书籍一般都...

  • Swing线程的最后讨论 -- 利用异步模型

    本文并不属于任何系列,但它是The Swing Connection中发表的第三篇关于在Swing中使用线程的文章。第一篇文章《线程与Swing》,解释了Swing的单线程规则。这篇文章现在可以在The Swing Connection Archive找到。第二...

  • Apache Shiro的(what、why、who)保护你的应用程序

    本文介绍的Apache Shiro,是一个不同寻常的Java安全框架,为保护应用提供了简单而强大的方法。本文还解释了Apache Shiro的项目目标、架构理念以及如何使用Shiro为应用安全保驾护航。 什么是Apache Sh

  • 让Apache Shiro保护你的应用

    本文介绍的Apache Shiro,是一个不同寻常的Java安全框架,为保护应用提供了简单而强大的方法。本文还解释了Apache Shiro的项目目标、架构理念以及如何使用Shiro为应用安全保驾护航。 什么是Apache Shiro? ...

  • 【JavaWeb 专题】15个最经典的JavaWeb面试题

    application域:整个web应用,代表与整个 Web 应用程序相关的对象和属性,它实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。 session 和 cookie 有什么区别? 定义 session:是一种将...

  • 数学建模拟合与插值.ppt

    数学建模拟合与插值.ppt

  • [net毕业设计]ASP.NET教育报表管理系统-权限管理模块(源代码+论文).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

  • mysql相关资源.txt

    mysql相关资源.txt

  • 利用HTML+CSS+JS的国漫分享网站(响应式)

    此项目为一个HTML+CSS+JS的国漫分享网站,用户可以在此网站中观看自己喜欢的国漫。此网站共有4个页面,分别为首页,最新动态,热门推荐,分类。页面动漫图片齐全,内容可更改。可用于期末课程设计或个人课程设计。

Global site tag (gtag.js) - Google Analytics