Para crear nuestra base de datos con H2 SQL, vamos a hacerlo de la siguiente manera, crearemos un archivo creardb.sql, el cual contiene el script que crea la base de datos.
En base a nuestro modelo ER el código sería el siguiente :
create table cliente ( id int not null auto_increment, nombre varchar(55) not null, nacimiento date, documento varchar(15), tipocliente char(1), primary key (id) ); create index idxnombre on cliente(nombre); create table producto( id int not null auto_increment, codigo varchar(15), descripcion varchar(45), precio decimal(7,2), primary key (id) ); create index idxcodigo on producto(codigo); create table venta ( id int not null auto_increment, fecha date not null, documento varchar(15) not null, tipodocumento char(2), cliente_id int, primary key (id), foreign key (cliente_id) references cliente(id) ); create table detalleventa ( id int not null auto_increment, cantidad decimal(5,2) not null, total decimal(10,2) not null, venta_id bigint, producto_id int, primary key (id), foreign key (venta_id) references venta(id), foreign key (producto_id) references producto(id) );
Este archivo lo guardaremos en una carpeta de nuestro proyecto a la que llamaremos querys, en la pestaña de Files o Archivos debiéramos ver algo asi.
Bien ahora simplemente le diremos a nuestro programa que cuando inicie revise si existe la base de datos de no ser asi, que la cree y ejecute el archivo creardb.sql.
/** * lee nuestro archivo creardb.sql que se encuentra en/querys/creardb.sql * @return String * @throws java.io.IOException */ private static String leerSqlFile() throws java.io.IOException { String filePath = String.format("%s/%s", System.getProperty("user.dir"), "querys/creardb.sql"); byte[] buffer = null; //System.out.println(filePath); File file = new File(filePath); buffer = new byte[(int) file.length()]; BufferedInputStream f = null; try { f = new BufferedInputStream(new FileInputStream(filePath)); f.read(buffer); } finally { if (f != null) { f.close(); } } return new String(buffer); } /** * Leemos y ejecutamos nuestro archivo de creacion de Base de Datos * @throws ClassNotFoundException * @throws InstantiationException * @throws IllegalAccessException * @throws IOException * @throws SQLException */ public void crearDB() throws ClassNotFoundException, InstantiationException, IllegalAccessException, IOException, SQLException { //ejecutamos el script de creacion de la BD String createTables = leerSqlFile(); Class.forName(DRIVER).newInstance(); Connection con = DriverManager.getConnection("jdbc:h2:" + DB_URL + ";IFEXISTS=TRUE", "sa", "sa"); java.sql.Statement stm = con.createStatement(); stm.execute(createTables); stm.close(); con.close(); }
Dentro de nuestro método main en nuestra clase Minitienda.java vamos a ejecutar nuestro script de creación a la base de datos.
public static void main(String[] args) { try { H2Util.getInstance().crearDB(); } catch (ClassNotFoundException ex) { Logger.getLogger(Minitienda.class.getName()).log(Level.SEVERE, null, ex); } catch (InstantiationException ex) { Logger.getLogger(Minitienda.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { Logger.getLogger(Minitienda.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(Minitienda.class.getName()).log(Level.SEVERE, null, ex); } catch (SQLException ex) { Logger.getLogger(Minitienda.class.getName()).log(Level.SEVERE, null, ex); } }
Ejecutamos nuestra aplicación, presionamos la tecla F6.
En nuestra ventana Output o Salida
podemos ver que la ejecución ha sido exitosa.
Para comprobar que se creo nuestra
base de datos, vamos a ir a nuestra carpeta donde alojamos nuestro
proyecto, si hemos seguido los pasos, Netbeans debe haber creado una
carpeta con el nombre del proyecto en una carpeta que debe estar en
HOME_DEL_USUARIO/NetbeansProjects.
En el caso de GNU/Linux, bueno todos uds
saben donde está su Home, pero los amigos Windowseros, tal vez no,
para ellos debiera estar en Documents and Settings/SUUSUARIO o en
USERS/SUSUARIO.
H2Sql cuando crea una base de datos,
genera un archivo con extension .h2.db, en Windows tal vez solo vean
hasta .h2 porque asi funciona dicho S.O.
Viene de :
disculpa tengo problemas para usar el H2SQL que no lo tengo el programa si me puedes ayudar seria de gran ayuda porfavor ayudammeeee...!!!
ResponderEliminartengo problema para hacer este paso por favor ayudamee siii
ResponderEliminarEl h2sql lo descargas de aca :
Eliminarhttp://www.h2database.com/html/main.html
pork no mejo0r lo subes tu con un link aparte man seria de un buen ayuda serio..!!!
EliminarGian, este es el enlace directo de descarga de H2SQl, aqui se encuentra el H2.jar
Eliminarhttp://www.h2database.com/h2-2012-04-08.zip
k base de datos estas k utulizas????
Eliminarque base de datos stas k utilizas???
EliminarGian, H2Database es una "base de datos", similar a como los es Mysql u SQLServer o Postgresql
Eliminar