Popular Banco via JAVA!

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 !

Fiz assim valeu galera !

package br.ufc.uteis;



import com.Auxiliar.Clientes;

import com.hibernate.HibernateHelperCliente;



public class PopulaBanco {



	private String nome;



	private String id;

	

	private HibernateHelperCliente hc = HibernateHelperCliente.getInstance();



	public String getNome() {

		return nome;

	}



	public void setNome(String nome) {

		this.nome = nome;

	}



	public String getId() {

		return id;

	}



	public void setId(String id) {

		this.id = id;

	}



	public static void main(String[] args) {

		new PopulaBanco().gerar();

	}



	private void gerar() {



		String[] alfa = new String[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "l", "m", "n", "o", "p", "q", "r" };



		hc.getSession().beginTransaction();



		for (int i = 0; i < 10000; i++) {

			Clientes c = new Clientes();

			c.setAreaAtividade("");

			c.setCelular("");

			c.setCep("");

			c.setCidade("");

			c.setContato("");

			c.setCxPostal("");

			c.setEmail("");

			c.setEndereco("");

			c.setFax("");

			c.setFone("");

			c.setInsest("");

			c.setTipo("");

			c.setUf("");



			setNome("");

			setId("");



			while (getNome().length() < 11) {



				int index = 0;



				do {

					index = (int) (Math.random() * (alfa.length));

				} while (index == 0);



				setId(getId() + String.valueOf(index));

				setNome(getNome() + alfa[index]);

			}



			setNome(getNome() + " ");



			while (getNome().length() < 23) {

				setNome(getNome() + alfa[(int) (Math.random() * (alfa.length))]);

			}



			c.setId(id);

			c.setNome(nome);



			setId(null);

			setNome(null);



			hc.save(c);



		}

		hc.getSession().getTransaction().commit();

		hc.close();



	}



}