Pessoal tenho uma classe classe :
package br.gov.nutec.util;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class GerarTabelas {
public static void main(String[] args) {
Configuration cfg = new AnnotationConfiguration();
cfg.configure();
SchemaExport se = new SchemaExport(cfg);
se.create(true, true);
}
}
Essa classe cria o banco baseado nas classes mapeadas no HIBERNATE.CFG.XML, agora queria gerar radomicamente cadastros tipo 500000 cadastro para testar o servidor !
tipo isto aqui:
1 package br.com.caelum.jdbc.dao;
2
3 // imports aqui (CTRL+SHIFT+O)
4
5 public class ContatoDAO {
6
7 // a conexão com o banco de dados
8 private Connection connection;
9
10 public ContatoDAO() throws SQLException {
11 this.connection = ConnectionFactory.getConnection();
12 }
13
14 public void adiciona(Contato contato) throws SQLException {
15
16 // prepared statement para inserção
17 String sql = "insert into contatos (nome,email,endereco) values (?,?,?)";
18 PreparedStatement stmt = connection.prepareStatement(sql);
19
20 // seta os valores
21 stmt.setString(1,contato.getNome());
22 stmt.setString(2,contato.getEmail());
23 stmt.setString(3,contato.getEndereco());
24
25 // executa
26 stmt.execute();
27 stmt.close();
28 }
29 }
POPULAR BANCO COM MASSA DE TESTES Perl…
Script el Perl
#!/usr/bin/perl
$count = 1;
$arquivosaida = "populate.sql";
@chars = ("A" .. "Z", "a" .. "z", 0 .. 9);
@numbers = (1 .. 9);
@single_chars = ("a" .. "e");
$totalrecords = 5000; # 5 milhoes
open(OUTPUT, "> $arquivosaida");
print OUTPUT "DROP TABLE index_teste;\n";
print OUTPUT "CREATE TABLE index_teste (";
print OUTPUT "codigo INT, nome VARCHAR(10), numero INT, letra CHAR(1)";
print OUTPUT ");\n";
print OUTPUT "COPY index_teste (codigo, nome, numero, letra) FROM stdin;\n";
while ($count <= $totalrecords){
$randstring = join("", @chars [map{rand @chars} ( 1 .. 8 ) ]);
$randnum = join("", @numbers [map{rand @numbers} ( 1 .. 8 ) ]);
$randletter = join("", @single_chars [map{rand @single_chars} (1)]);
print OUTPUT
#print OUTPUT "INSERT INTO index_teste
VALUES($count,'$randstring',$randnum,'$randletter');\n";
$count."\t".$randstring."\t".$randnum."\t".$randletter."\n";
$count++;
};
#print OUTPUT "\n";
#print OUTPUT "\nCREATE INDEX indexteste_codigo_index ON index_teste(codigo);\n";
#print OUTPUT "CREATE INDEX indexteste_numero_index ON index_teste(numero);\n";
#print OUTPUT "VACUUM ANALYZE index_teste;\n";
close OUTPUT;
Abraço !