
package ejerciciojdbc4;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class EjercicioJDBC4 {

    public static void main(String[] args) {
        // Mediante las siguientes asignaciones simulamos la captura de datos desde una interfaz de usuario
        String idLibroAInsertar = "00501";   // Un valor de clave primaria lo suficientemente alto para no coincidir con los proporcionados por
                                             // la secuencia las INSERT lanzadas para disponer de datos de prueba en el correspondiente script SQL
                                             // y por las que se se puedan lanzar desde la aplicación GestionLibros como consecuencia como
                                             // consecuencia de la interacción con el usuario, en este caso, el lector.
        String tituloAInsertar = "LA ENEIDA";   
        String generoAInsertar = "8";
        java.sql.Date fechaEdicionAInsertar = java.sql.Date.valueOf("1972-11-05");
        int numeroPaginasAInsertar = 570;
        byte premiadoAInsertar = 0;
        try {
              //    CONEXION MySQL
              Class.forName("com.mysql.jdbc.Driver");
              Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/biblioteca", "root", "");  
/*              
              //    CONEXION Oracle
              Class.forName("oracle.jdbc.driver.OracleDriver");
              Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "tiger");  
*/
              String sql = "INSERT INTO libros VALUES(?,?,?,?,?,?)"; 
              PreparedStatement preparedStatement = connection.prepareStatement(sql); 
              preparedStatement.setString(1, idLibroAInsertar);
              preparedStatement.setString(2, tituloAInsertar);
              preparedStatement.setString(3, generoAInsertar);
              preparedStatement.setDate(4, fechaEdicionAInsertar);
              preparedStatement.setInt(5, numeroPaginasAInsertar);               
              preparedStatement.setByte(6, premiadoAInsertar);
              int numeroFilasInsertadas = preparedStatement.executeUpdate();
              System.out.println("Se han insertado " + numeroFilasInsertadas + " filas");
              connection.close();
         } catch(Exception e){
            e.printStackTrace();           
         }    
    }   
}
