Prog Acceso a base de datos relacionales

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introdución


Descargando las librerías para conectar a Mysql

Nota: Estos pasos están probados en un Linux Mint 18 (basado en Ubuntu 16.04) de 64bits.


  • Si descargamos el paquete deb, la librerías necesarias se instalarán el el directorio /usr/share/java. El fichero (en este caso) es mysql-connector-java-8.0.11.jar.
Prog db rel 1.jpg


  • Si queremos desarrollar una aplicación desde NetBeans, debemos de añadir el jar a las librerías del proyecto como vimos en este punto de la wiki.
  • Si queremos ejecutar desde consola la aplicación ya compilada (el class) tendremos que modificar la variable de entorno classpath para añadir el jar, como está indicado en este enlace.


  • La librería descargada, obliga a que el servidor Mysql tenga establecido el huso horario. Podríamos indicarlo en la cadena de conexión desde el cliente java con la siguiente línea:
useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
O bien ejecutar la orden SQL: SET GLOBAL time_zone = '+1:00'



Trabajando contra una base de datos Mysql

  • Lo primero que tenemos que hacer es realizar una conexión a la base de datos.
Entre los datos que vamos a necesitar estarán:
  • Usuario para conectarse a la base de datos con permisos para realizar las operaciones que necesitemos.
  • Password del usuario.
  • Nombre de la base de datos a la que nos vamos a conectar.
  • Nombre del host donde está instalado el servidor Mysql.
  • La cadena de conexión que representa una conexión a un servidor Mysql en JDBC.


  • Veamos un ejemplo de código:
 1         try {
 2             String servidor = "localhost";
 3             String basedatos = "ejemplo";
 4             String user = "root";
 5             String password = "root";
 6             
 7             String husoHorario = "useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
 8 
 9             String conexion = String.format("jdbc:mysql://%s/%s?%s",servidor,basedatos,husoHorario);
10 
11             Connection con = DriverManager.getConnection(conexion,user,password);
12 
13 
14         }  catch (SQLException ex) {
15             Logger.getLogger(ConsultaSimple.class.getName()).log(Level.SEVERE, null, ex);
16         }




Consultas

  • Partimos siempre que tenemos definido previamente un objeto de la clase Connection conectado a la base de datos.


  • Veamos un ejemplo:
1             Statement consulta = con.createStatement();
2             ResultSet resultados = consulta.executeQuery("SELECT nombre,f_nacimiento FROM alumnos");
3             while(resultados.next()) {
4                 Date fechaBD = resultados.getDate("f_nacimiento");
5                 String fechaSpain = new SimpleDateFormat("dd-MM-yyyy").format(fechaBD);
6                 System.out.printf("Nombre:%s----F_nac:%s%n",resultados.getString("nombre"),fechaSpain);
7             }


Inserción

  • Partimos siempre que tenemos definido previamente un objeto de la clase Connection conectado a la base de datos.



Actualización

  • Partimos siempre que tenemos definido previamente un objeto de la clase Connection conectado a la base de datos.



Borrado

  • Partimos siempre que tenemos definido previamente un objeto de la clase Connection conectado a la base de datos.




-- Ángel D. Fernández González -- (2017).