guzz1.2.8 beta1发布--支持annotation
程序员文章站
2022-04-05 22:14:59
...
guzz是一套用来解决ORM、多数据源管理、以及通用数据计算的数据层框架,为系统在数据层的设计提供一站式解决方案。guzz可以看作是 ibatis/hibernate的一大的延伸,并可以取代这2个东西。
guzz主要功能与特点:
文档:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6
FAQ:http://code.google.com/p/guzz/wiki/AboutFAQ
1.2.8 beta1更新介绍:
应用示例说明:
通过annotation定义一个域对象:
完成id, userId, userName, content, createdTime的映射。
在guzz主配置文件中声明域对象定义:
更多介绍请参看使用手册:
Guzz Annotation使用帮助:http://code.google.com/p/guzz/wiki/TutorialHbmAnnotation
Guzz Annotation参考手册:http://code.google.com/p/guzz/wiki/AppendJPAAnnotation
下一版本计划:
guzz主要功能与特点:
- 现代大规模系统设计,技术上吸收了ibatis/hibernate的优点
- 支持像hibernate一样的对象化持久、映射和方便的增删改查
- 支持像ibatis一样,让dba参与sql设计的复杂数据库操作和优化
- 支持应用程序使用大量的数据库和主从读写分离
- 支持超越范式的特殊关联、非结构化数据等异构资源的统一管理
- 支持数据表在多组机器间水平分布(Shard),并自动维护多组机器之间的分布式事务
- 支持1张表按照业务规则分切成多张小表(Shadow),并支持每张小表拥有自己特殊的属性字段(Custom)
- 支持组件化服务(SOA),构建企业/项目实施基础平台
- 提供面向对象的数据库读取标签(JSP Taglib),加快页面展示层的快速变更、开发与部署
- 支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理
文档: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定义一个域对象:
@javax.persistence.Entity @org.guzz.annotations.Entity(businessName = "comment") @Table(name="TB_COMMENT", shadow = CommentShadowView.class) @TableGenerator( name = "commentGen", table="tb_id", catalog="somelog", schema="some_schema", pkColumnName="pk", pkColumnValue="2", valueColumnName="id_count", initialValue=100, allocationSize=20 /* * create table tb_id(pk int(11) primary key, id_count int(11) default 0) * insert into tb_id(pk, id_count) values(2, 100) */ ) public class Comment { @javax.persistence.Id @GeneratedValue(generator="commentGen", strategy=GenerationType.TABLE) private int id ; private int userId ; private String userName ; @Column(name="DESCRIPTION") private String content ; private Date createdTime ; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Date getCreatedTime() { return createdTime; } public void setCreatedTime(Date createdTime) { this.createdTime = createdTime; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } }
完成id, userId, userName, content, createdTime的映射。
在guzz主配置文件中声明域对象定义:
<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协议支持。
- 其他。
下一篇: 安装软件技巧别再一路下一步了!