Tecnología

Inicio

MySQL Tutorial de Java

El Kit de Desarrollo de Java incluye un paquete conocido como el API de Java Database Connectivity, o el JDBC para abreviar. Esto proporciona una única interfaz para interactuar con cualquier paquete de base de datos que proporciona un controlador JDBC. La mayoría de las soluciones de bases de datos importantes, como MySQL, proporcionan un controlador JDBC ya sea en sus discos de instalación o libremente descargable desde su página web.

El controlador JDBC de MySQL

El controlador JDBC para MySQL se llama MySQL :: Connector / J, y es una aplicación muy completa de la API JDBC. El conductor será un archivo JAR que debe ser situado en la ruta de clases de Java. El más común de Java IDE, en particular Eclipse y Netbeans, lo hará por usted, siempre y cuando se haga referencia al archivo controlador como una biblioteca. Además, con el fin de utilizar los comandos de la API JDBC, tendrá que insertar el siguiente comando en la parte superior de cualquier clase que utilizar directamente el JDBC.

importar java.sql. *;

Preparar

Mientras que el JDBC intenta hacer uso de sus bases de datos en los programas Java lo más simple posible, hay una serie de pasos a seguir para configurar la conexión de base de datos. Dado que es posible escribir un programa que incluye varios controladores de base de datos, antes de conectarse a una base de datos debe informar a la API del controlador que va a utilizar. Para esto, se ejecuta el siguiente:

Class.forName (\ "com.mysql.jdbc.Driver \"). NewInstance ()
IR

Esto devolverá una instancia de la clase controlador (que se incluye en java.sql), y se puede almacenar la referencia a esa instancia para su uso posterior, si quieres. Sin embargo, no es necesario en la mayoría de las circunstancias. Si recibe un error, esto significa más probable es que su ruta de clase no está configurado correctamente.

Creación de una conexión

La conexión de base de datos debe hacerse mediante una dirección URL o una dirección IP. Si la base de datos se está ejecutando en la misma máquina que el programa Java, esto es fácil: la URL es localhost, con una adición significativa: el protocolo (o URL) identificador. A un familiar para la Web es \ "http: // \ & quot ;. Para una base de datos MySQL JDBC, el identificador de protocolo correcto es \" jdbc: mysql: // \ ".

Conexión conn = DriverManager.getConnection (\ "jdbc: mysql: // localhost \", nombre de usuario, contraseña);

Tratamiento de errores

Cualquier error relativo a una conexión, una declaración o un conjunto de resultados será del tipo SQLException. Para más detalles sobre el error específico, usted debe ponerse SQLException e imprimir su mensaje de error en la consola. Una fuente potencial de confusión es la velocidad, en cuyo momento las conexiones fuera. Hay un montón de tiempo para conectarse, ejecutar algunas consultas y obtener resultados, pero es casi seguro que no hay tiempo para esperar a la entrada del usuario después de una conexión. Si tiene que esperar a la entrada del usuario, por lo general es una mejor práctica para desconectar, recuperar la entrada del usuario y vuelva a conectar de nuevo para ejecutar las consultas.

Consultas y resultados

Hay dos clases principales para interactuar con la base de datos una vez conectado: la Declaración y el conjunto de resultados.

Declaración s = conn.createStatement ()
IR
s.executeQuery ( "SELECT * FROM empleados")
IR
ResultSet rs = s.getResultSet ()
IR

Declaración simplemente envía la cadena SQL a la base de datos, por lo que tendrán que ser escritos en el dialecto nativo de SQL para la base de datos utilizada consultas. Una cualidad importante de un conjunto de resultados es que recupera los datos del servidor de una fila a la vez, y sólo recupera los datos cuando se hizo la fila correspondiente. El código anterior no ha descargado ningún resultado sin embargo, desde el servidor.

Debido a que es imposible en la mayoría de los sistemas para conocer el tamaño de un conjunto de resultados antes de que todos los resultados que se han recuperado, lo mejor es almacenar un conjunto de resultados, al menos temporalmente, dentro de una estructura de datos cuyo tamaño puede cambiarse de manera eficiente. clase LinkedList de Java es perfecto para esto.

Resultados ListaEnlazada = new LinkedList ()
IR
mientras que (rs.next ()) {
results.add (rs.getString (\ "firstName \"))
IR
}

Y, siempre es una buena práctica para cerrar las conexiones de forma explícita en lugar de dejar que el tiempo de espera de ellos:

rs.close ()
IR
s.close ()
IR
conn.Close ();