guzz.xml为guzz框架的核心配置文件,用于定义应用配置,数据库使用,ORM,以及服务等。
guzz.xml样本
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE guzz-configs PUBLIC "-//GUZZ//DTD MAIN CONFIG//EN" "http://guzz.xiu666.com/dtd/guzz.dtd">
-
- <guzz-configs>
-
- <config-server>
- <server class="org.guzz.config.LocalFileConfigServer">
- <param name="resource" value="guzz_app.properties" />
- </server>
- </config-server>
-
- <dialect class="org.guzz.dialect.H2Dialect" />
-
- <tran>
- <dbgroup name="default" masterDBConfigName="masterDB" />
- <dbgroup name="updateDB" masterDBConfigName="updateMasterDB" />
- <dbgroup name="logDB" masterDBConfigName="updateMasterDB" />
- </tran>
-
- <business name="guzzSlowUpdate" dbgroup="updateDB" file="classpath:org/guzz/service/core/IncUpdateBusiness.hbm.xml" />
- <business name="user" file="classpath:org/guzz/test/User.hbm.xml" />
- <business name="article" file="classpath:org/guzz/test/Article.hbm.xml" />
- <business name="articleCount" file="classpath:org/guzz/test/ArticleCount.hbm.xml" />
-
- <business dbgroup="updateDB" name="guzzSlowUpdate" file="classpath:org/guzz/service/core/impl/IncUpdateBusiness.hbm.xml" />
- <business dbgroup="logDB" name="systemLog" file="classpath:com/mycompany/myapp/business/SystemLog.hbm.xml" />
-
- <service name="logService" configName="guzzDBLogServiceClient" class="org.guzz.service.log.impl.DBLogServiceImpl" />
- <service name="slowUpdateServer" configName="guzzSlowUpdateServer" class="org.guzz.service.db.impl.SlowUpdateServerImpl" />
-
- <sqlMap dbgroup="user">
- <select id="selectUser" orm="user">
- select * from @@user where @id = :id
- </select>
-
- <update id="updateUserFavCount" orm="userObjectMap">
- update @@user set @favCountfavCount = favCount + 1
- </update>
-
- <select id="selectUsers" orm="userObjectMap">
- select @id, @name, @vip, @favCount from @@user
- </select>
-
- <orm id="userObjectMap" class="org.guzz.test.UserModel" dbgroup="user">
- <result property="id" column="pk" type="int" />
- <result property="name" column="userName"/>
- <result property="favCount" column="FAV_COUNT"/>
- <result property="vip" column="VIP_USER"/>
- </orm>
- </sqlMap>
-
- </guzz-configs>
其中:
config-server :指定配置服务器实现,guzz通过配置服务器读取应用的配置文件。默认实现为本地文件配置,通过读取guzz_app.properties加载配置信息。
guzz_app.properties: 为应用配置文件,按照组进行设置。类似于Mysql数据库的配置文件,在下一节进行详细介绍。
dialect :指定数据库的实现。目前dialect主要用来创建主键,以及进行物理分页查询。dialect可以指定1个名称,默认为default。
tran :定义数据库组,1个tran下可以有多个 dbgroup, 每个dbgroup可以指定主数据库配置名和从数据库配置名,以及dialect名(默认用default)。guzz通过配置名,从配置服务器中查询配 置,默认实现为从guzz_app.properties读取此组名的配置信息。
business :定于领域对象。1个领域对象对应数据库中的一张表。领域对象必须指定一个名字name属性(以后称为 businessName),这个名字以后可以用来代替类名查询对象,以及在jsp taglib中标示读取什么对象。business可以指定dbgroup属性,标示对象存储在那1组数据库中,默认为default组。file属性制 定hbm.xml文件位置。business可以指定interpret属性进行高级的taglib标签条件控制,interpret为实现 org.guzz.orm.BusinessInterpreter接口的完整类名。
service :用于外挂系统服务。name为服务名称,在程序中可以通过name查询到服务实例;configName为配置信息组名称,class为服务实现客户端。service必须实现org.guzz.Service 接口。
sqlMap :定义sql语句以及sql映射,类似于ibatis。sqlMap可以指定dbgroup属性标记此sqlMap下所有查询对应的数据库组。
sqlMap/select|update :定义sql查询和更新|删除语句,通过id指定名称(在程序中使用的名称),通过orm 属性指定要Mapping的配置。sql语句为可在数据库中执行的标准sql语句。在编写sql语句时,可以@@businessName或者 @@full-class-name的方式代替数据库表名,用@java属性名称或者@orm/result/property 名称代替对应的数据库字段,guzz在执行时会完成自动替换。如果sql中包含参数,使用“冒号+参数名称”代替,如“:userName”,在程序中执 行时通过java.util.Map传入"userName"->value对进行调用,guzz将完成命名参数的参数设置 (PreparedStatement方式)。
orm :定义sql查询结果字段与对象的对应关系,类似ibatis。可以通过指定dbgroup覆盖sqlMap中设定的数据库。 orm可以放在sqlMap内,表示此ORM在本sqlmap内有效,也可以放在sqlMap外,表示所有sqlMap中的select/update都 可以使用。
orm/result :每1个Result代表一列的对应关系,property为java属性名,column为数据库属性,type为数据类型(与hbm.xml中的type含义和取值相同);如果type没有指定,则通过orm/class按照property属性反射获取类型。
分享到:
相关推荐
guzz的jar包,工程下直接考过来的,可以直接使用
NULL 博文链接:https://guzz.iteye.com/blog/583426
NULL 博文链接:https://guzz.iteye.com/blog/256235
NULL 博文链接:https://guzz.iteye.com/blog/507276
NULL 博文链接:https://guzz.iteye.com/blog/883225
为Guzz启用屏幕共享。 此扩展程序允许www.guzz.io用户共享桌面屏幕 支持语言:English
语言:English 为Guzz启用屏幕共享 此扩展程序允许www.guzz.io用户共享桌面屏幕
guzz的学习需要用的练习代码,有一个例子。
guzz是一套用来进行快速开发和高性能网站设计的java框架,通过ORM、多数据源数据管理、以及通用数据处理,为系统在数据层的设计提供一站式解决方案。用于替代或者补充hibernate或ibatis,并提供更多的大型系统架构...
阿里云提供了基于命名空间的 V2 版 SDK,但是文档不是很完整,使用门槛比较高,于是我封装了一个 Composer 包:https://github.com/johnlui/AliyunOSS 安装 将以下内容增加到 composer.json: 复制代码 代码如下: ...
总结起来,Bof: 是用户友好的避免使用魔术字符串和数组进行配置:相反,它提供可由IDE自动完成的显式,类型化和文档化方法带有默认值:默认支持JSON,4xx和5xx响应抛出异常,默认情况下超时时间短符合PSR-7 未来的...
MultiSafepay PHP SDK关于...如果您没有安装任何客户端实现,请使用以下命令: composer require guzzlehttp/guzzle如果您没有安装任何工厂实现,请使用以下命令: composer require http-interop/http-factory-guzz