本篇文章给大家分享的是有关如何理解Java ORM框架guzz,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
guzz 1.3.1
大版本更新噢:
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)
支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理