Red de conocimiento informático - Material del sitio web - Cómo crear una fuente de datos

Cómo crear una fuente de datos

Hola, consulta lo siguiente:

La fuente de datos es el concepto de grupo de conexiones de base de datos. El grupo de conexiones significa que cuando se inicia el servidor, primero se establecen varias conexiones. Cuando la aplicación necesita conectarse a la base de datos, se obtiene del grupo de conexiones. Después de su uso, la conexión no se desconecta sino que se vuelve a colocar en el grupo, lo que reduce la cantidad de creaciones de conexiones de datos y mejora en gran medida el rendimiento de la conexión. La fuente de datos proporciona al servidor información de configuración, pero el servidor sabe cómo utilizar el controlador JDBC, como los parámetros de URL, el nombre de la instancia de la base de datos, el nombre de usuario y la contraseña. La fuente de datos en Java es javax.sql.DataSource. La creación de fuentes de datos se puede lograr de diferentes maneras. Aquí tomamos mysql como ejemplo para presentar varios métodos comunes para crear fuentes de datos:

Primero, cree una fuente de datos a través de JNDI

Para crear una fuente de datos a través de JNDI, primero debe configure la fuente de datos Información de conexión relacionada, es decir, el grupo de conexiones de la fuente de datos. Esta configuración debe configurarse en el archivo conf/context.xml en el directorio de instalación de Tomcat. Bajo la arquitectura J2EE de Eclipse, el archivo context.xml también se puede crear en el directorio /META-INF. Su configuración es la siguiente:

lt context gt lt! -MySql- gt;

ltresource nombre = " JDBC/movie " auth = " Contenedor " tipo = " javax . SQL . fuente de datos "

max activo = " 100 " maxIdle = " 30 " max wait = " 10000 "

Nombre de usuario="[nombre de usuario]" contraseña="[contraseña]" nombre de clase del controlador = " com . MySQL . JDBC . driver "

URL = " JDBC:MySQL://localhost:3306/[nombre de instancia]?auto connect = true "/ gt;

lt/Context gt; Puede crear una fuente de datos en el programa a través de JNDI, obtener la conexión de la base de datos y realizar las operaciones correspondientes.

El código es el siguiente:

Pruebe {

context contexto = nuevo contexto inicial();

if (context == null){

Lanza una nueva excepción ("¡Error al crear el contexto!");

}

data sourceds = (fuente de datos)context lookup(" Java: comp/env/JDBC. /[nombre de instancia]");

if (ds == null) {

Thread.sleep(2000);

ds = (fuente de datos) context lookup("Java: comp/env/JDBC/[nombre de instancia]");

if (ds == null) {

Lanza una nueva excepción ("Error al obtener fuente de datos ");

}

}

} catch(nombre excepción ne){

Lanzar ne;

} catch(Exception e) {

Throw e;

}

En segundo lugar, Apache proporciona un grupo de conexiones simple para crear fuentes de datos p>

Para crear una fuente de datos de esta manera, primero debe preparar dos archivos jar: commons-dbcp.jar y commons-pool.jar, y colocar estos dos paquetes jar en el directorio WEB-INF/lib . La fuente de datos creada de esta manera ya no es javax.sql.DataSource, sino org. Apache mons. El código es el siguiente:

//Crear un objeto BasicDataSource

fuente de datos básica ds = nueva fuente de datos básica();

ds . " com . MySQL . JDBC . controlador ");

ds . seturl(" JDBC:MySQL://localhost:3306/[nombre de instancia]"); nombre de usuario(" [nombre de usuario]");

ds . establecer contraseña("[contraseña]");

ds . . setmaxactive (100);

ds . setmaxidle(30);

ds . setmaxwait(10000);

//Cerrar la conexión de la fuente de datos. p>

ds. close();

En tercer lugar, cree una fuente de datos en modo C3P0

Para usar C3P0 para crear una fuente de datos, primero debe preparar un archivo jar. : c3p0-0.9 .1.2.jar, ubicado en el directorio WEB-INF/lib, para que c3p0 pueda usarse para crear una fuente de datos en el proyecto. El objeto de fuente de datos creado por C3P0 no es un objeto de fuente de datos, sino un ComboPooledDataSource.

El código es el siguiente:

//Crear objeto ComboPooledDataSource

combobooleddatasource ds = new combobooleddatasource();

ds setdriverclass(" com . MySQL . JDBC. . controlador " );

ds.setjdbcurl("JDBC:MySQL://localhost:3306/[nombre de instancia]");

Ds.setUser("[nombre de usuario]"

ds .set contraseña("[contraseña]");

ds .setinitialpoolsize(50); /p >

ds. setmaxidletime(10000);

Cuarto, use Proxool para crear una fuente de datos

El paquete jar necesario para crear una fuente de datos de esta manera: proxool -01.9.0RC3.jar se coloca en el directorio WEB-INF/lib y luego se puede crear el objeto ProxoolDataSource en el proyecto. El código es el siguiente:

//Crear objeto ProxoolDataSource

fuente de datos prozool ds = nueva fuente de datos prozool();

set driver(" com. MySQL . JDBC . controlador ");

ds . setdriverurl(" JDBC:MySQL://localhost:3306/[nombre de instancia]");

Ds.setUser( "[ Nombre de usuario]");

ds. set password("[contraseña]");

Quinto, utilice BoneCP para crear una fuente de datos.

BoneCP es un grupo de conexiones de bases de datos Java rápido, eficiente, de código abierto y gratuito. Según el autor, BoneCP superará por completo en rendimiento a todos los grupos de conexiones Java convencionales. Le ayuda a administrar las conexiones de datos y permite que sus aplicaciones accedan a la base de datos más rápido. Es 25 veces más rápido que el grupo de conexiones C3P0/DBCP (grupo de conexiones de base de datos). Este grupo de conexiones de base de datos utiliza Google Collection como marco de clases de colección interna y la versión actual es muy estable. Para utilizar BoneCP, el archivo jar que se debe utilizar es:

bonecp-0.6.5.jar

google-collection-1.0.jar

slf4j- API- 1. 5. 11. jar

slf4j-log4j 12-1. 5. 11. jar

log4j-1.2.15.jar

Convertir. estos jars Coloque el paquete en el directorio WEB-INF/lib y podrá crear un objeto BoneCPDataSource en el programa.

El código es el siguiente:

//Crear objeto BoneCPDataSource

bonecpdata source ds = new bonecpdata source();

ds setdriverclass(" com . MySQL. . Controlador JDBC ");

ds.setjdbcurl("JDBC:MySQL://localhost:3306/[nombre de instancia]");

ds.set nombre de usuario("[. nombre de usuario] ");

ds . set contraseña("[contraseña]");

ds . setacquire increment(1);

ds . setacquiretrydelay( 10000);

ds .setidleconnectiontestperiod(100);

ds .setminconnectionsperbartition(2);

setmaxconnectionsperbartition(20); p> ds.setpartitioncount(2);

Después de crear la fuente de datos, puede usar jdbc para establecer una conexión entre el programa y la base de datos. Sin embargo, cabe señalar que debe haber un paquete de controladores jdbc relevante. Diferentes bases de datos requieren controladores diferentes, que generalmente están disponibles en el sitio web oficial de cada base de datos.

¡Espero adoptarlo!