1 官网下载 databene-benerator-0.9.8 ,解压后只需要增加一个环境变量:
export BENERATOR_HOME=<path/to/your/install/dir>
2 ./bin/benerator.sh <path/to/your/xmlfile>
3 上述步骤二直接执行脚本 + 一个数据格式的xml文件就可以生成数据了,因此重点就是这个xml数据的格式如何,下面介绍了几种我用到的情况
1) 如果需要顺序(递增)生成数据,例如从1开始,则
<variable name="id" type="long" generator="new org.databene.benerator.primitive.IncrementalIdGenerator(1)" />
<attribute name="vertexID" script="id" />
2) 如果每个属性有几个枚举的选项供选择,则
<variable name="vertextype" values="'ApplyInfo','Terminal','BankCard','Mobile'" />
<attribute name="vertexType" script="vertextype" />
3) 如果需要生成固定长度的字符串,并按某种模式,则,
<attribute name="orderNo" pattern="[A-Z][a-z][0-9]" />
4) 如果想在某一范围内随机生成一个整数,则
<attribute name="historyOverdueTime" type="int" min="0" max="10000" />
5) 如果需要根据别的文件生成一个新的文件(例如有一个文件都是点,需要从中选择两个点凑成一个边,毕竟边的两个端点是必须岑在的),则
<bean id="pointFile" class="CSVEntitySource">
<property name="uri" value="/home/lidongze/huawei/data/lakla_data/point.csv" />
<property name="encoding" value="UTF-8" />
<property name="columns" value="number" />
</bean>
<bean id="pointFile2" class="CSVEntitySource">
<property name="uri" value="/home/lidongze/huawei/data/lakla_data/point.csv" />
<property name="encoding" value="UTF-8" />
<property name="columns" value="number" />
</bean>
<variable name="pointFileIn" type="entity" source="pointFile" distribution="expand" />
<variable name="pointFileIn2" type="entity" source="pointFile2" distribution="expand" />
<attribute name="phoneNum" script="pointFileIn.number" />
<attribute name="phoneNum2" script="pointFileIn2.number" />
4 具体文件地址: https://github.com/lidongze0629/MyKnowledge/blob/master/lakla/xmlfile/point.xml