Com connectar-se a una base de dades a Java? - Tutorial JDBC



Aquest article us explicarà com connectar la base de dades MySQL a Java. JDBC és una de les API Java estàndard per a connectivitat independent de bases de dades entre Java i una àmplia gamma de bases de dades.

, sent un dels llenguatges de programació més destacats, proporciona un ampli suport a les bases de dades. Ens ajuda a connectar-nos a diverses bases de dades mitjançant (Connectivitat de bases de dades Java). En aquest article, us explicaré com connectar-vos a una base de dades i executar consultes mitjançant JDBC.

A continuació, es tracten els temes següents en aquest article:





Introducció a JDBC

JDBC és una de les API Java estàndard per a connectivitat independent de la base de dades entre i una àmplia gamma de bases de dades.Aquesta API us permet codificar les declaracions de sol·licitud d'accés a Llenguatge de consulta estructurat (SQL). Aixòconsisteix principalment en obrir una connexió, crear una base de dades SQL, executar consultes SQL i arribar a la sortida.

L'API JDBC es pot utilitzar per accedir a dades tabulars emmagatzemades a qualsevol base de dades relacional. Amb això, podeu actualitzar, desar, recuperar i suprimir les dades de les bases de dades. És similar a l’Open Database Connectivity (ODBC) que proporciona Microsoft.



Per obtenir una millor comprensió del funcionament de JDBC, aprofundim en el tema i entenem l’arquitectura que hi ha darrere de la connectivitat de bases de dades Java.

Components JDBC comuns

L'API JDBC proporciona les següents interfícies i classes i menys

  • DriverManager: S’utilitza principalment per gestionar una llista de controladors de base de dades. El controlador que reconeix un determinat sub-protocol s'utilitzarà per establir una connexió de base de dades.



  • El conductor és una interfície que gestiona les comunicacions amb el servidor de bases de dades. També abstrau els detallsque s’associen mentre es treballa amb objectes Driver.

  • Una connexió és una interfície que consta de tots els mètodes necessaris per connectar-se a una base de dades. L'objecte de connexió tracta de les funcions de comunicació de la base de dades. context.

Passem ara al tema següent i examinem els passos necessaris per crear una aplicació JDBC.

Passos per crear l'aplicació JDBC

Per crear una aplicació JDBC, heu de seguir uns quants passos. A veure què són.

què és el big data hadoop

Passos per crear l

  1. Importeu els paquets: Heu d'incloure tots els paquets que contenen les classes JDBC necessàries programació de bases de dades . Molt sovint, utilitzant importació java.sql. * n’hi haurà prou.

  2. Registre del controlador JDBC: Aquí heu d'inicialitzar un controlador per poder obrir un canal de comunicació amb la base de dades.

  3. Obrir una connexió: Aquí podeu utilitzar el fitxer getConnection () mètode per crear un objecte Connection, que representa una connexió física amb la base de dades.

  4. Executeu una consulta: Això realment requereix utilitzar un objecte de tipus Statement per crear i enviar una sentència SQL a la base de dades.

  5. Extreu dades del conjunt de resultats: Es suggereix que utilitzeu el corresponent getXXX () mètode per recuperar les dades del conjunt de resultats.

  6. Netejar el medi ambient: Aquí és essencialtanqueu explícitament tots els recursos de la base de dades enfront de confiar en la recollida d’escombraries de la JVM.

Ara, ja que heu vist diversos passos per crear una aplicació JDBC, vegem un exemple de codi per crear una base de dades i establir una connexió.

paquet Edureka import java.sql. * import java.sql.DriverManager classe pública Exemple {// nom del controlador JDBC i URL de la base de dades static static String JDBC_DRIVER = 'com.mysql.jdbc.Driver' static static String DB_URL = 'jdbc: mysql: // localhost / emp '// Credencials de la base de dades static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// STEP 2 : Registre del controlador JDBC Class.forName ('com.mysql.cj.jdbc.Driver') // PAS 3: Obriu una connexió System.out.println ('Connexió a la base de dades ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // PAS 4: executeu una consulta System.out.println ('Creating statement ...') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age FROM Employees 'ResultSet rs = stmt.executeQuery (sql) // PAS 5: Extreure dades del conjunt de resultats mentre que (rs.next ()) {// Recupereu per nom de columna int id = rs.getInt (' id ') int age = rs.getInt ('age') String first = rs.getString ('first') String last = rs.getString ('last') // Mostra els valors System.out.print ('ID:' + id) System.out.print (', Edat:' + age) System.out.print (', First : '+ first) System.out.println (', Last: '+ last)} // PAS 6: Entorn de neteja rs.close () stmt.close () conn.close ()} catch (SQLException se) {// Gestió d'errors de JDBC se.printStackTrace ()} catch (excepció e) {// Gestió d'errors de Class.forName e.printStackTrace ()} finalment {// finalment bloqueig utilitzat per tancar recursos proveu {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // no es pot fer res proveu {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // acabar finalment provar} // acabar provar System.out.println ('Adéu!')} // acabar principal} // final Exemple

El codi anterior crea una taula a la base de dades localhost. Per inserir els valors a la base de dades creada, podeu consultar el codi següent. Escriuré el codi només per al pas 4. La resta del codi continua sent el mateix que l'anterior.

// PAS 4: Executeu una consulta System.out.println ('Creació de taula en una base de dades donada ...') stmt = conn.createStatement () String sql = 'CREA TABLE EMPLOYEES' + '(id INTEGER no NULL,' + 'first VARCHAR (255),' + 'last VARCHAR (255),' + 'age INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('Taula creada a la base de dades donada ... ') System.out.println (' Inserció de registres a la taula ... ') stmt = conn.createStatement () String sql =' INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' Registres inserits a la taula. .. ')

Així és com podeu establir una connexió a la base de dades i inserir valors a les taules. Ara anem més enllà i entenem diversos tipus de controladors JDBC

Tipus de controladors JDBC

Els controladors JDBC s’utilitzen per implementar les interfícies definides a l’API JDBC, per interactuar amb el servidor de bases de dades.Essencialment, a Controlador JDBC fa tres coses i són les següents:
1. Estableix una connexió amb una font de dades.
2. Enviarà consultes i actualitzarà declaracions a la font de dades.
3. Finalment, processa els resultats.

Per exemple, els controladors JDBC us ajuden a obrir una connexió de base de dades per interactuar-hi enviant . Si voleu obtenir més informació sobre els tipus de controladors JDBC, podeu consultar aquest article a .

Ara anem més enllà i entenem JDBC Connections.

Connexions JDBC

  • Importa paquets JDBC: Afegeix importació declaracions a la vostra per importar les classes necessàries al vostre codi Java.

  • Registra el controlador JDBC: a t el seu pas, per carregar la implementació del controlador desitjat a la memòria perquè pugui satisfer les sol·licituds JDBC. Hi ha 2 mètodes per registrar un conductor.

    • L’enfocament més adequat per registrar un controlador és utilitzar Java forName () mètode per carregar dinàmicament el fitxer de classe del controlador a la memòria , que el registra automàticament. Aquest mètode és adequat ja que us permet fer que el registre del controlador sigui configurable i portàtil. Mireu el codi següent:

      proveu {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('Error: no es pot carregar la classe de controlador!') System.exit (1)}
    • El segon enfocament que podeu utilitzar per registrar un controlador és utilitzar l’estàtica registerDriver () mètode.

      proveu {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ('Error: no es pot carregar la classe del controlador!') System.exit (1 )}}
  • Heu d'utilitzar el fitxer registerDriver () mètode si utilitzeu una JVM no compatible amb JDK, com la que proporciona Microsoft. Aquí cada formulari requereix una base de dades URL .

  • Formulació d'URL de base de dades: La formulació d'URL és necessària per crear una adreça amb el format adequat que apunti a la base de dades a la qual voleu connectar-vos. Un cop hàgiu carregat el controlador, podeu establir una connexió mitjançant el fitxer DriverManager.getConnection () mètode. Els mètodes DriverManager.getConnection () són & menys

    java convertint binari en decimal
    • getConnection (URL de cadena)

    • getConnection (URL de cadena, prop de Propietats)

    • getConnection (URL de cadena, usuari de cadena, contrasenya de cadena)

  • Creeu un objecte de connexió

Podeu crear una connexió mitjançant l’URL de la base de dades, el nom d’usuari i la contrasenya i també mitjançant l’objecte de propietats.

  • Tanca

Finalment, per finalitzar la sessió de base de dades, heu de tancar totes les connexions de base de dades. Tot i així, si ho oblideu, el recollidor d’escombraries de Java tancarà la connexió quan neteja objectes obsolets.

conn.close () // S'utilitza per tancar la connexió

Tot això tractava de la connectivitat de bases de dades Java. Si voleu obtenir més informació sobre JDBC, podeu consultar aquest article a . Això ens porta al final de l'article sobre 'com connectar-nos a una base de dades'. Espero haver donat llum al vostre coneixement a JDBC.

Consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Estem aquí per ajudar-vos en tots els passos del vostre viatge; per convertir-vos en una pregunta a part d’aquestes entrevistes java, oferim un pla d’estudis dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article sobre “com connectar-vos a una base de dades” i us respondrem el més aviat possible.