当前位置: 首页 > 工具软件 > benerator > 使用案例 >

databene-benerator-0.9.8 数据生成器

轩辕乐邦
2023-12-01

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


    
 类似资料: