/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package financeiro;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import persistencia.SubtipoClass;
import persistencia.TipoClass;
/**
*
* @author Falanga
*/
public class Main
{
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws SQLException
{
try
{
Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:h2:./test;IFEXISTS=TRUE", "sa", "");
try
{
conn.createStatement().execute("select * from TabelaID");
}
catch (SQLException A)
{
System.out.println("Bad");
boolean Res = conn.createStatement().
execute("DROP TABLE IF EXISTS REPOSITORIO, SUBTIPO, "
+ "TIPO, FATO, PESSOA, GRUPO, TabelaID");
Res = conn.createStatement().
execute("DROP SEQUENCE IF EXISTS SEQPESSOA");
Res = conn.createStatement().
execute(
"CREATE TABLE PESSOA ("
+ "KEYPESSOA bigint NOT NULL,"
+ "IDPESSOA bigint NOT NULL,"
+ "NOME char(50) NOT NULL"
+ ");"
+ "ALTER TABLE PESSOA ADD CONSTRAINT PK_PESSOA PRIMARY KEY(KEYPESSOA, IDPESSOA);"
+ "CREATE SEQUENCE SEQPESSOA;"
+ "INSERT INTO PESSOA(KEYPESSOA, IDPESSOA, NOME) VALUES"
+ "(1, 1, 'ADMIN');"
+ "CREATE TABLE TIPO ("
+ "IDTIPO identity NOT NULL,"
+ "DESCRICAO char(50) NOT NULL"
+ ");"
+ "CREATE TABLE SUBTIPO ("
+ "IDSUBTIPO identity NOT NULL,"
+ "IDTIPO bigint NOT NULL,"
+ "DESCRICAO char(50) NOT NULL"
+ ");"
+ "CREATE UNIQUE INDEX IDXDESCRICAO ON SUBTIPO (DESCRICAO);"
+ "CREATE TABLE FATO ("
+ "IDFATO bigint NOT NULL,"
+ "NUMDOC char(20),"
+ "DATA timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,"
+ "IDPESSOA bigint NOT NULL,"
+ "CONCILIADO boolean NOT NULL DEFAULT FALSE,"
+ "IDSUBTIPO bigint NOT NULL,"
+ "VALOR decimal(20,2),"
+ "CRED_DEB boolean NOT NULL,"
+ "IDREPOSITORIO bigint,"
+ "IDINSERCAO bigint NOT NULL"
+ ");"
+ "ALTER TABLE FATO ADD CONSTRAINT PK_FATO PRIMARY KEY(IDFATO);"
+ "CREATE TABLE REPOSITORIO ("
+ "IDREPOSITORIO bigint NOT NULL,"
+ "NOMEREPOSITORIO char(50)"
+ ");"
+ "ALTER TABLE REPOSITORIO ADD CONSTRAINT PK_REPOSITORIO PRIMARY KEY(IDREPOSITORIO);"
+ "CREATE TABLE GRUPO ("
+ "IDPESSOA bigint NOT NULL,"
+ "IDREPOSITORIO bigint NOT NULL,"
+ "IDPAPEL bigint"
+ ");"
+ "CREATE TABLE TABELAID(IDTABELA char(50));"
+ "CREATE UNIQUE INDEX IDXRELACAO ON GRUPO (IDPESSOA,IDREPOSITORIO);"
+ "CREATE UNIQUE INDEX IDXPAPEL ON GRUPO (IDREPOSITORIO,IDPAPEL);"
+ "ALTER TABLE SUBTIPO ADD CONSTRAINT RELTIPOSUBTIPO FOREIGN KEY (IDTIPO) REFERENCES TIPO(IDTIPO) ON DELETE CASCADE ON UPDATE CASCADE;"
+ "ALTER TABLE FATO ADD CONSTRAINT RELFATOSUBTIPO FOREIGN KEY (IDSUBTIPO) REFERENCES SUBTIPO(IDSUBTIPO) ON DELETE NO ACTION ON UPDATE NO ACTION;"
+ "ALTER TABLE FATO ADD CONSTRAINT RELPESSOAFATO FOREIGN KEY (IDPESSOA) REFERENCES PESSOA(IDPESSOA) ON DELETE NO ACTION ON UPDATE NO ACTION;"
+ "ALTER TABLE FATO ADD CONSTRAINT RELREPOSITORIOFATO FOREIGN KEY (IDREPOSITORIO) REFERENCES REPOSITORIO(IDREPOSITORIO) ON DELETE NO ACTION ON UPDATE NO ACTION;");
Res = conn.createStatement().
execute("INSERT INTO TIPO(Descricao) VALUES('Descricao'),('Nova Descricao')");
}
TipoClass Tipo = new TipoClass(conn);
//System.out.println(Tipo.addTipo("TipoNovo"));
SubtipoClass subTipo = new SubtipoClass(conn);
Random a = new Random();
Integer valor = a.nextInt(6);
System.out.println(valor.toString());
System.out.println(subTipo.addSubtipo(valor, "NovoSubtipo" + valor.toString()));
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM TIPO");
rs.beforeFirst();
Integer A;
String B;
while (rs.next())
{
A = rs.getInt("idtipo");
B = rs.getString("descricao");
System.out.println(A.toString() + ": " + B);
}
conn.close();
System.out.println("Sem problemas!");
}
catch (ClassNotFoundException ex)
{
System.out.println("Problemas!");
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}