`
liuluo129
  • 浏览: 117221 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据库数据自动生成工具dbmonster

阅读更多

在对程序进行测试时,需要向数据库中插入大量数据来进行模拟。目前有很多工具可以自动生成,比如开源的dbmonster。

该工具通过配置数据库表的信息就可以生成指定条数的数据。
从网站上下载dbmonster-core-1.0.3包后,把相应的数据库jar包拷贝到lib目录下,比如mysql的jar包。然后配置dbmonster.properties:
dbmonster.jdbc.driver=com.mysql.jdbc.Driver
dbmonster.jdbc.url=jdbc:mysql://127.0.0.1:3306/test?charSet=utf-8
dbmonster.jdbc.username=root
dbmonster.jdbc.password=root

# for Oracle and other schema enabled databases
dbmonster.jdbc.schema=test

# maximal number of (re)tries
dbmonster.max-tries=1000

# default rows number for SchemaGrabber
dbmonster.rows=1000

# progres monitor class
dbmonster.progress.monitor=pl.kernelpanic.dbmonster.ProgressMonitorAdapter
 dbmonster.progress.monitor=pl.kernelpanic.dbmonster.ProgressMonitorAdapter
从配置项可以看出,就是配置要插入数据的数据库信息。
然后配置dbmonster-schema.xml来设置要插入的数据库表以及表的字段信息:
<?xml version="1.0"?>
<!DOCTYPE dbmonster-schema PUBLIC "-//kernelpanic.pl//DBMonster Database Schema DTD 1.1//EN" "http://dbmonster.kernelpanic.pl/dtd/dbmonster-schema-1.1.dtd">
<dbmonster-schema>
  <name>test schema</name>
  <table name="t_project_test" rows="5000">  <!-- 设置表名和要生成的数据条数-->
    <key databaseDefault="false"> <!-- 设置主键-->
      <generator type="pl.kernelpanic.dbmonster.generator.MaxKeyGenerator">   <!-- 主键生成器,还有一个生成字符串主键的StringKeyGenerator类-->
        <property name="columnName" value="id"/> <!-- 设置主键列名-->
      </generator>
    </key>
    <column name="contractid" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.NumberGenerator">   <!-- 设置列属性,数字生成器-->
        <property name="minValue" value="1"/>
        <property name="maxValue" value="500"/>
        <property name="returnedType" value="integer"/>  <!--可选值short, integer, long, float, double, numeric,默认为short-->
        <property name="scale" value="
        <property name="nulls" value="0"/>  <!-- 每100个生成null的概率-->
      </generator>
    </column>
    <column name="contractnum" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator"> <!-- 字符串生成器-->
        <property name="allowSpaces" value="false"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="16"/>
        <property name="minLength" value="12"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
 <column name="number" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="false"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="16"/>
        <property name="minLength" value="12"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
 <column name="realprice" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.NumberGenerator">
        <property name="minValue" value="1"/>
        <property name="maxValue" value="50000000"/>
        <property name="returnedType" value="long"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
 <column name="starttime" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.DateTimeGenerator">  <!-- 时间生成器-->
        <property name="startDate" value="2013-04-08"/>
        <property name="endDate" value="2014-12-31"/>
        <property name="returnedType" value="date"/>   <!-- 可选项date, time, timestamp,默认为date-->
        <property name="nulls" value="0"/>
      </generator>
    </column>
 <column name="pricezero" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.NumberGenerator">
        <property name="minValue" value="1"/>
        <property name="maxValue" value="50000000"/>
        <property name="returnedType" value="double"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
  </table>
 </dbmonster-schema>
 配置完后,进入到bin目录下,运行
dbmonster.bat -c dbmonster.proprities -s dbmonster-schema.xml。
1
0
分享到:
评论
1 楼 javatozhang 2014-01-10  
引用
dbmonster.bat -c dbmonster.proprities -s dbmonster-schema.xml
去掉.bat

相关推荐

    数据库数据产生工具 DBMonster 应用详解

    DBMonster 是一个开源的数据库测试工具,主要用于生成大量模拟数据以进行数据库性能测试、负载测试和压力测试。它采用 Java 开发,通过 JDBC 连接各种类型的数据库,因此可在任何支持 Java 和 JDBC 的环境中运行。...

    DBMonster In Action 使用Ant自动产生数据库随机测试数据

    标题“DBMonster In Action 使用Ant自动产生数据库随机测试数据”涉及到的是一个用于自动化生成数据库测试数据的工具,DBMonster,以及如何结合Ant构建工具来执行这个任务。在IT行业中,测试数据是确保软件质量的...

    数据测试工具

    DBMonster是一个基于Java的开源数据生成工具,支持通过JDBC接口连接数据库。该工具主要用于数据库开发过程中,帮助生成大量规则或不规则的数据,从而便于数据库性能优化等工作。 **特点** - **跨平台性**:由于...

    DBMONSTER下载、安装及使用

    DBMonster是一款开源的数据生成工具,主要用于数据库性能测试。它可以根据用户提供的配置文件自动向数据库中插入大量测试数据,支持多种数据库类型,如MySQL、Oracle等。本文将详细介绍如何下载、安装和配置...

    目前市场主流的测试工具和管理软件(开源).docx

    2. DBMonster:此工具用于压力测试SQL数据库,通过生成随机数据来评估数据库性能,可在任何操作系统上运行。 3. OpenSTA:基于CORBA的分布式测试架构,可用于模拟大量虚拟用户进行负载测试,其结果分析全面,适用于...

    目前市场主流的测试工具和管理软件(开源).pdf

    2. DBMonster:这是一款用于SQL数据库压力测试的工具,生成随机数据以测试数据库性能,适用于跨平台操作。 3. OpenSTA (Open System Testing Architecture):基于CORBA的分布式测试架构,能够模拟大量虚拟用户,...

Global site tag (gtag.js) - Google Analytics