Advertisement
saulbensach

lectorSQL

Jan 26th, 2016
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.70 KB | None | 0 0
  1. package ejercicio3;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileReader;
  6. import java.io.IOException;
  7. import java.sql.Connection;
  8. import java.sql.DriverManager;
  9. import java.sql.PreparedStatement;
  10. import java.sql.ResultSet;
  11. import java.sql.SQLException;
  12. import java.util.logging.Level;
  13. import java.util.logging.Logger;
  14.  
  15. public class ManejadorConexion {
  16.    
  17.     private Connection conn;
  18.     private BufferedReader lector;
  19.    
  20.     public ManejadorConexion(){
  21.         abrirConex();
  22.         System.out.println("Conex Abierta!");
  23.         leerSQL("ferreteria");
  24.         System.out.println("Tablas construidas!");
  25.         leerSQL("ferreteria_datos");
  26.         System.out.println("Datos colocados!");
  27.     }
  28.     private void abrirConex(){
  29.         String nombreFichero = "";
  30.         try {
  31.             conn = DriverManager.getConnection("jdbc:mysql://localhost/", "root", "");
  32.         } catch (SQLException ex) {
  33.             Logger.getLogger(ManejadorConexion.class.getName()).log(Level.SEVERE, null, ex);
  34.         }
  35.         if(!existeBD("ferreteria")){
  36.             System.out.println("BD no encontrada creando una...");
  37.             String query = "CREATE DATABASE ferreteria";
  38.             try {
  39.                 PreparedStatement s = conn.prepareStatement(query);
  40.                 s.executeUpdate();
  41.                 s.close();
  42.                 conn.close();
  43.                 conn = DriverManager.getConnection("jdbc:mysql://localhost/ferreteria","root","");
  44.             } catch (SQLException ex) {
  45.                 Logger.getLogger(ManejadorConexion.class.getName()).log(Level.SEVERE, null, ex);
  46.             }
  47.         }else{
  48.             try {
  49.                 conn.close();
  50.                 conn = DriverManager.getConnection("jdbc:mysql://localhost/ferreteria","root","");
  51.             } catch (SQLException ex) {
  52.                 Logger.getLogger(ManejadorConexion.class.getName()).log(Level.SEVERE, null, ex);
  53.             }
  54.         }
  55.     }
  56.     private void leerSQL(String fichero){
  57.         try {
  58.             lector = new BufferedReader(new FileReader("bd/"+fichero+".sql"));
  59.             int letra;
  60.             String query = "";
  61.             try {
  62.                 while((letra = lector.read()) != -1){
  63.                     if((char)letra != ';'){
  64.                         if((char)letra != '\n'){
  65.                             query += (char)letra;
  66.                         }
  67.                     }else{
  68.                         query += ';';
  69.                         try {
  70.                             PreparedStatement s = conn.prepareStatement(query);
  71.                             s.executeUpdate();
  72.                             s.close();
  73.                         } catch (SQLException ex) {
  74.                             //Logger.getLogger(ManejadorConexion.class.getName()).log(Level.SEVERE, null, ex);
  75.                         }
  76.                         query = "";
  77.                     }
  78.                 }
  79.             } catch (IOException ex) {
  80.                 //Logger.getLogger(ManejadorConexion.class.getName()).log(Level.SEVERE, null, ex);
  81.             }
  82.         } catch (FileNotFoundException ex) {
  83.             Logger.getLogger(ManejadorConexion.class.getName()).log(Level.SEVERE, null, ex);
  84.         }
  85.     }
  86.     private boolean existeBD(String nombre){
  87.         try {
  88.             ResultSet r = conn.getMetaData().getCatalogs();
  89.             while(r.next()){
  90.                 if(nombre.equals(r.getString(1))){
  91.                     r.close();
  92.                     return true;
  93.                 }
  94.             }
  95.         } catch (SQLException ex) {
  96.             Logger.getLogger(ManejadorConexion.class.getName()).log(Level.SEVERE, null, ex);
  97.         }
  98.         return false;
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement