深蓝色心情

过来聊聊~~~~

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks
guzz是一套用来解决ORM、多数据源管理、以及通用数据计算的数据层框架,为系统在数据层的设计提供一站式解决方案。guzz可以看作是 ibatis/hibernate的一大的延伸,并可以取代这2个东西。 

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

1.2.8 beta1更新介绍: 

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

  • 修正了一个taglib bug 。修正了Guzz面向对象数据库操作标签无法处理包含运算符的特殊条件的错误。

应用示例说明: 

通过annotation定义一个域对象: 
Java代码 
  1. @javax.persistence.Entity  
  2. @org.guzz.annotations.Entity(businessName = "comment")  
  3. @Table(name="TB_COMMENT", shadow = CommentShadowView.class)  
  4. @TableGenerator(  
  5.         name = "commentGen",  
  6.         table="tb_id",  
  7.         catalog="somelog",  
  8.         schema="some_schema",  
  9.         pkColumnName="pk",  
  10.         pkColumnValue="2",  
  11.         valueColumnName="id_count",  
  12.         initialValue=100,  
  13.         allocationSize=20  
  14.         /* 
  15.          * create table tb_id(pk int(11) primary key, id_count int(11) default 0) 
  16.          * insert into tb_id(pk, id_count) values(2, 100) 
  17.          */  
  18. )  
  19. public class Comment {  
  20.   
  21.     @javax.persistence.Id  
  22.     @GeneratedValue(generator="commentGen", strategy=GenerationType.TABLE)  
  23.     private int id ;  
  24.       
  25.     private int userId ;  
  26.       
  27.     private String userName ;  
  28.       
  29.     @Column(name="DESCRIPTION")  
  30.     private String content ;  
  31.       
  32.     private Date createdTime ;  
  33.   
  34.     public int getId() {  
  35.         return id;  
  36.     }  
  37.   
  38.     public void setId(int id) {  
  39.         this.id = id;  
  40.     }  
  41.   
  42.     public String getContent() {  
  43.         return content;  
  44.     }  
  45.   
  46.     public void setContent(String content) {  
  47.         this.content = content;  
  48.     }  
  49.   
  50.     public Date getCreatedTime() {  
  51.         return createdTime;  
  52.     }  
  53.   
  54.     public void setCreatedTime(Date createdTime) {  
  55.         this.createdTime = createdTime;  
  56.     }  
  57.   
  58.     public String getUserName() {  
  59.         return userName;  
  60.     }  
  61.   
  62.     public void setUserName(String userName) {  
  63.         this.userName = userName;  
  64.     }  
  65.   
  66.     public int getUserId() {  
  67.         return userId;  
  68.     }  
  69.   
  70.     public void setUserId(int userId) {  
  71.         this.userId = userId;  
  72.     }  
  73.       
  74. }  


完成id, userId, userName, content, createdTime的映射。 

在guzz主配置文件中声明域对象定义: 
Xml代码 
  1. <a-business class="org.guzz.test.Comment"/>  


更多介绍请参看使用手册: 

Guzz Annotation使用帮助:http://code.google.com/p/guzz/wiki/TutorialHbmAnnotation 

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

下一版本计划: 

  • 改进remote service,提供更多内置的rpc协议支持。
  • 其他
posted on 2010-05-05 10:36 深蓝色心情 阅读(1409) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: