DBMonster入门

原创 2015年07月07日 19:39:38

一、什么是DBMonster

有时候我们为了性能分析或者压力测试,需要往数据库新增数据记录,这个时候需要一个便捷的工具可以帮忙我们快速生成记录,并往DB插入记录。而DBMonster就可以帮忙我们达到这个目标的一个工具,DBMonster是一个批量生成数据库记录,Java语言编写的工具。


二、使用入门

1. 下载DBMonster工具包 http://nchc.dl.sourceforge.net/project/dbmonster/dbmonster-core/v.1.0.3/dbmonster-core-1.0.3.tar.gz,解压如下:

2. docs 目录里面有详细的指导文档,需要查阅指引资料等可自行查询,examples 目录里面有数据库表配置的 schema demo配置。

3. 新建conf目录,新建针对需要插入数据的数据库表,新增 dbmonster.properties 和 dbmonster-schema.xml 文件。

4. 下载Mysql-Java connector jar 包http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar,并放入lib目录。

5. 根据需要生成记录的数据库表配置 dbmonster.properties 和 dbmonster-schema.xml 文件。比如笔者需要往两个表student 和 teacher表新增记录,其中student 通过teacherId外键到teacher表。

(1)dbmonster.properties 主要配置数据库链接验证等信息,比如

dbmonster.jdbc.driver=com.mysql.jdbc.Driver
dbmonster.jdbc.url=jdbc:mysql://${ip}:${port}/${database}?charSet=utf8
dbmonster.jdbc.username=${your db name}</span>
dbmonster.jdbc.password=${your db pass}</span>


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

# 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

(2)dbmonster-schema.xml主要配置数据表的schema信息,比如

<?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="student" rows="100000">
    <column name="name" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="true"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="15"/>
        <property name="minLength" value="5"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
    <column name="pass" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="true"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="20"/>
        <property name="minLength" value="5"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
	<column name="teacherId" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.ForeignKeyGenerator">
        <property name="tableName" value="teacher"/>
        <property name="columnName" value="id"/>
      </generator>
    </column>
  </table>
  <table name="teacher" rows="1000">
      <column name="name" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="true"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="15"/>
        <property name="minLength" value="5"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
    <column name="pass" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="true"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="20"/>
        <property name="minLength" value="5"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
  </table>
</dbmonster-schema>

5. 进入bin目录,修改启动脚本dbmonster.bat,加入下图红色部分(-s .\conf\*.xml -c .\conf\dbmonster.properties)



6. 双击dbmonster.bat,执行dbmonster,成功如图:


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

dbmonster简介,下载安装

一:dbmonster简介   在 进行某些侧重数据计算相关的应用(例如报表程序),或是在对一个应用进行负载和压力测试时,往往需要在数据库中产生大量的负载,对测试工程师来说,这个工 作往往会不那么轻...

数据库测试工具dbmonster使用:int 型主键,外键,varchar型数据生成

如果你还未了解dbmonster是什么,请先查看dbmonster简介,下载安装 前期准备: 准备使用mysql用来做测试,如果你还没有安装mysql请先安装,然后下载mysql jdbc驱动,解压...

dbmonster-core-1.0.3.tar.gz

  • 2015-12-23 16:35
  • 1.61MB
  • 下载

Web安全基础入门笔记(一)Web简介

Web安全的背景:随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客...

storm从入门到放弃(三),放弃使用《StreamId》特性。

序:StreamId是storm中实现DAG有向无环图的重要一个特性,但是从实际生产环境来看,这个功能其实蛮影响生产环境的稳定性的,我们系统在迭代时会带来整体服务的不可用。   StreamId...

Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术

移动平台的特点 为了尽可能一处那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于ios设备和某些Android设备)使用了基于瓦片的延迟渲染(TBDR)架构,把...

JNI开发入门教程,实现输出一段字符串

为什么使用JNI:         效率上 C/C++是本地语言,比java更高效;         代码移植,如果之前用C语言开发过模块,可以复用已经存在的c代码;        ...

分形理论入门

分形这是一只编程小喵,经常出没在喵屋[AudioMiao]中,挖挖[喵的Github],瞧瞧世界。 什么是分形? 分形理论(Fractal Theory)是当今十分风靡和活跃的新理论、新学科。它是...

-九个问题从入门到熟悉HTTPS

Q1: 什么是 HTTPS? 一: HTTPS 是安全的 HTTP HTTP 协议中的内容都是明文传输,HTTPS 的目的是将这些内容加密,确保信息传输安全。最后一个字母 S 指的是 SSL/T...

socket网络通信入门

1.socket是什么? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Soc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)