`
liuluo129
  • 浏览: 116300 次
  • 性别: 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自动产生数据库随机测试数据

    这通常会根据"build.xml"中的配置,调用DBMonster工具,并将生成的测试数据写入到指定的数据库中。 压缩包中的文件列表: 1. "log4j.properties"是日志配置文件,用于控制应用的日志输出级别和格式,帮助调试和记录...

    Mysql课件教程 辅助日志分析工具SQLProfiler DBMonster的安装和配置 DBMonster命令示例-压数据

    本文将详细讲解如何使用SQLProfiler和DBMonster这两个工具,它们分别是MySQL数据库的辅助日志分析工具和数据压力测试工具。 **SQLProfiler** 是一个用于记录和分析SQL执行情况的工具,特别适合于性能调优。它通过...

    dbmonster-core-1.0.3.zip

    1. **dbmonster**: dbmonster是数据库性能测试工具,它提供了生成复杂SQL查询的能力,可以模拟多种工作负载,如读写操作、事务处理等。这对于在部署新数据库系统或者升级现有系统时预估其性能表现非常有用。 2. **...

    dbmonster-core-1.0.3

    3. **dbmonster**:这个标签表明了工具的主要功能,即dbmonster工具集的一部分,可能包括多个组件或模块,用于不同类型的数据库压力测试。dbmonster通常会提供不同的工作模式,如单线程、多线程、并行执行等,以模拟...

    dbmonster:dbmonster基准测试

    这个工具旨在通过生成大量复杂的查询和数据操作来测试数据库系统的性能极限,帮助开发者和数据库管理员了解数据库在高压力环境下的表现。在优化数据库配置、比较不同数据库引擎或者评估硬件升级效果时,`dbmonster` ...

    测试工具大全word

    - DBMonster:开源数据库性能测试工具。 3. 白盒测试/代码分析工具: - VcTest:用于C++代码的静态分析工具。 - ezTester:提供代码覆盖率和静态分析的工具。 - Jtest:Parasoft的Java测试和调试工具。 - C++...

    测试 工具文档

    - DBMonster:开源数据库性能测试工具。 3. 白盒测试/代码分析工具: - VcTesterezTester:用于.NET和C++的代码分析工具。 - Jtest:Parasoft的Java代码静态分析工具,检测潜在错误和缺陷。 - C++test:...

    dbmonster-core-1.0.3.tar.gz

    由于标签为空,我们无法获得更多关于这个项目的信息,但根据命名习惯,“dbmonster”可能是一个数据库相关的工具或库,其核心组件负责处理数据库操作、性能测试或数据分析。 要深入了解这个项目,你需要解压缩文件...

    dbmonster:带 Cito+t7 的 DBMonster

    DBMonster 是一个数据库性能测试工具,常常用于评估和比较不同数据库系统的处理能力。这个特定的版本结合了 Cito 和 t7 测试套件,旨在提供更全面的性能基准测试。Cito 是一个早期的数据库基准测试工具,而 t7 是一...

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

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

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

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

    15个网页开发工具介绍

    DBMonster是一款开源工具,用于调整数据库及其索引,并监控数据库性能。它支持多种数据库类型,如MySQL、PostgreSQL、Oracle、MSSQL等。只要目标数据库支持JDBC驱动程序,理论上都可以使用DBMonster进行管理。 ####...

    dbmonster:臭名昭著的测试的DOM版本

    dbmonster的工作原理是生成大量DOM元素并进行各种操作,如插入、删除、遍历等,通过测量这些操作的时间消耗来评估浏览器的DOM处理能力。测试结果可以反映出浏览器在处理大规模DOM树时的效率,这对于那些需要频繁操作...

    软件测试报告 调研报告 主流软件测试工具

    - JMeter、OpenSTA、DBMonster和Web Application Load Simulator是性能自动化测试工具,用于模拟大量用户负载,评估系统性能。 2. 专业测试软件 - 禅道测试管理工具是中国优秀的开源测试管理解决方案,涵盖了软件...

Global site tag (gtag.js) - Google Analytics