Ofbiz:数据库移植mysql并创建自己的mysql
Ofbiz原生数据库是derby,而作为开发使用,其就不能满足我们需求,ofbiz支持多种数据库,我们就可以将数据移植到mysql.
第一步:找到framework\entity\config\entityengine.xml这个文件,找到之后进行下面相关操作.
1、添加或者修改datasource,因为该文件本身存在这些资料,只是被注释掉了.
2.还是在该文件添加一些内容,注意上面的datasource name=""与下面的datasource-name是对应的.
datasource-name:就是配置1中对应的数据库名
group-name: :是用来进行分组辨识的,即可以将数据资料移植到不同的数据库
问题:可以一直为什么要创建三个数据库,一个不行?带着这个问题我们进行下面操作.
第二步:找到framework\entity\entitydef\entitygroup.xml文件,内容如下
就是这个配置将Tenant等一些实体(数据库中的表,至于创建方式我就不在这里讲述了)分到org.ofbiz.tenant这个组名的数据库中即上面中第三个数据库,数据库名叫localmysqltenant.当然若没有这种配置,那么数据资料就会到默认数据库中,但是这里是项目自带,所以我们就需要这样一个数据库,同样的道理还有到另一个数据库中的资料,加上默认的,所以我们需要三个数据库.
至于这些文件的加载在当前目下ofbiz-component.xml文件下,如下:
注意:framework/base/lib下需要导入mysql的包
上面就配置完成,然后我们在数据库创建对应的三个数据库名会跟上文中一一对应(注意编码一致),在启动的时候带参数load-data(如何代参运行,不知道的话,详情百度,嘻嘻)
下面我们独立创建一个数据库,来放我们自己的资料.
相应文件的位置:
第一步:在上文配置文件framework\entity\config\entityengine.xml下加入相应的配置,我的资料如下:
helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
field-type-name="mysql"
check-on-start="true"
add-missing-on-start="true"
check-pks-on-start="false"
use-foreign-keys="true"
join-style="ansi-no-parenthesis"
alias-view-columns="false"
drop-fk-use-foreign-key-keyword="true"
table-type="InnoDB"
character-set="utf8"
collate="utf8_general_ci">
至于这些资料所放位置与上文一一对应
第二步:创建对应的数据库wuliys,并设置其编码为utf-8,字符集utf8_general_ci
第三步:创建一个实体,文件路径\myparty\entitydef\entitymodel.xml,注意其可以是hot-deploy下的一个模块,也可以是你分离出来的一个模块.内容如下:
Entity of anApache OFBiz Component
None
1.0
第四步:将创建的实体引入到自己所想到的分组,文件路径: \myparty\entitydef\entitygroup.xml,内容如下:
第五步:在该实体下创建一条数据,文件路径\myparty\data\testdata.xml,内容如下:
第六步:将这写配置文件在该模块的ofbiz-component.xml下加载,内容如下
而后带参load-data启动一下,就在数据库相应位置创建好了自己的数据资料.
备注:新手写blog,查阅网上的相关资料,加上自己的一些想法