7.1.2 - Connexió
Per a poder establir una connexió des de l'aplicació Java fins la Base de Dades (en el nostre cas eXist) necessitem dos objectes:
XQDataSource
Servirà per a identificar l'origen de dades. A partir d'ell crearem les connexions (similars a sessions). De forma genèrica seria:
XQDataSource xqs = new ClasseEspecíficaQueGeneraXQDataSource();
que en el cas concret dels SGBD-XML natives més comuns s'haurà de particularitzar en:
- eXist serà ExistXQDataSource() .
- BaseX seria BaseXQDataSource()
- Sedna seria SednoXQDataSource()
I aquesta seria l'única diferència entre utilitzar un o un altre SGBD-XML natives, a banda de les dades de connexió.
Com que en aquestos apunts únicament utilitzarem eXist-db, la nostra classe serà ExistXQDataSource()
La manera d'indicar el servidor, port, usuari i contrasenya és per mig del mètode setProperty() Aquest seria un exemple, on connectem al servidor situat en la mateixa màquina, al port 8080 (que és el port per defecte), i com a usuari admin (admin):
XQConnection
Representa una connexió, una sessió. Mantindrà informació d'estat, transaccions, consultes executades i resultats.
XQConnection conn = s.getConnection();
També es podria passar l'usuari i contrasenya en el moment de fer la connexió:
XQConnection conn = s.getConnection("admin","admin");
I en finalitzar, hem de recordar tancar aquesta connexió:
conn.close();
Aquest seria un exemple on únicament avisem que hem pogut connectar. El podem fer en un projecte nou, anomenat Tema8_2, dins del paquet Exemples
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQDataSource;
import javax.xml.xquery.XQException;
import net.xqj.exist.ExistXQDataSource;
public class Prova0_XQJ {
public static void main(String[] args) throws XQException {
XQDataSource s = new ExistXQDataSource();
s.setProperty("serverName", "localhost");
s.setProperty("port", "8080");
s.setProperty("user", "admin");
s.setProperty("password", "admin");
XQConnection conn = s.getConnection();
System.out.println("Connexió feta");
conn.close();
}
}
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial CompartirIgual 2.5