Red de conocimiento informático - Material del sitio web - ¿Cómo crear una aplicación conectándose a un almacén de datos utilizando datos de Spring o un adaptador Java local?

¿Cómo crear una aplicación conectándose a un almacén de datos utilizando datos de Spring o un adaptador Java local?

Spring Data proporciona un conjunto de API para acceder a datos de MongoDB usando Java, lo que nos permite operar MongoDB de manera similar a la clase JdbcTemplate de Spring, lo que simplifica enormemente nuestros pasos de desarrollo.

1. Preparación

Como es habitual, primero debemos preparar una serie de paquetes de tarros. Aquí tomé una captura de pantalla, como se muestra a continuación.

¿Qué paquete de frascos? Commons-beans-1.8.3, commons-lang-2.6, Commons-collections-3.2.1, Commons-logging-1.1, Ezmorph-1.

2. Configuración de la conexión a la base de datos

Hay dos formas de conectarse a la base de datos MongoDB utilizando datos de Spring: una es conectarse a través de JDBC y la otra es conectarse a través de Spring para leer. el archivo de configuración XML.

Aquí se presenta el primer método de conexión y el segundo método de conexión se presentará más adelante.

1. Cree el archivo de configuración "DataSource.properties" para almacenar la información de la base de datos para su posterior modificación. El contenido es el siguiente:

Host=127.0.0.1

Puerto=27017

Base de datos=King

Nombre de usuario=King

Contraseña=King

La configuración anterior es: dirección del servidor donde se encuentra la base de datos de destino, puerto de conexión de la base de datos, nombre de la base de datos, nombre de usuario y contraseña. *Configure según la situación real.

2. Obtener conexión a la base de datos

Las interfaces y clases responsables de la conexión a la base de datos no se presentarán aquí. Si está interesado, puede hacer clic en el enlace para ver la documentación oficial: ¿Interfaz? ¿Operaciones Mongo? ¿Y clase? MongoTemplate Entre ellos, la clase MongoTemplate implementa la interfaz MongoOperations.

Adjunto a continuación el código fuente de la clase MongoUtil que escribí. Esta clase encapsula principalmente el código para obtener una instancia de MongoTemplate.

¿Paquete? com . informe . util;

¿Importar? Java . net . excepción de host desconocido;

¿Importar? Java . util configuración regional;

¿Importar? Paquete de recursos Java . util ;

¿Importar? org. spring framework. datos de autenticación. credenciales de usuario;

¿Importar? org. marco de primavera. datos. MongoDB core.

¿Importar? org. marco de primavera. datos de MongoDB. org. marco de primavera. datos. núcleo de MongoDB. es.MongoDB.mongo;

¿Público? ¿clase? ¿Montgotier? {

¿Privado? ¿Cambiable? ¿Electricidad estática? ¿Operaciones Mongo? mongoOperación

¿Privada? ¿Electricidad estática? finales? ¿Cadena? ¿Nombre del perfil? =?"Fuente de datos";

¿Privada? ¿Electricidad estática? finales? ¿Cadena? ¿CLAVE_HOST? =?"Anfitrión";

¿Privado? ¿Electricidad estática? finales? ¿Cadena? ¿CLAVE_PUERTO? =?"puerto";

¿Privado? ¿Electricidad estática? finales? ¿Cadena? ¿CLAVE_BASE DE DATOS? =?"Base de datos";

¿Privada? ¿Electricidad estática? finales? ¿Cadena? ¿CLAVE_NOMBRE DE USUARIO? =?"Nombre de usuario";

¿Privado? ¿Electricidad estática? finales? ¿Cadena? ¿CLAVE_CONTRASEÑA? =?"Contraseña";

¿Privado? ¿MongoUtil()? {

}

¿Privado? ¿Electricidad estática? ¿Operaciones Mongo? obtenerMongoOperación()? {

¿Y si? (¿mongoOperación?==?nulo)? {

¿Paquete de recursos? ¿Paquete de recursos? =?ResourceBundle.getBundle(

Nombre del archivo de configuración? locale . get default()); //Obtener el archivo de configuración "DataSource.properties"

Cadena? direcciónhost? =?paquete de recursos .getstring(KEY_HOST)? +?":"

+?paquete de recursos . getstring(KEY _ PORT);

¿Credenciales de usuario? ¿Credenciales de usuario? =?¿Nuevo? Credenciales de usuario(

paquete de recursos . getstring(KEY _ USERNAME),

paquete de recursos . getstring(KEY _ PASSWORD));

¿Intentar? {

¿Operación mongo? =?¿Nuevo? MongoTemplate(

New?SimpleMongoDbFactory(new?Mongo(hostAddr),

paquete de recursos. getstring(KEY_DATABASE),

credenciales de usuario)); >

}?¿Atrapar? (¿Excepción de host desconocida? e)? {

e.printstacktrace();<

/p>

}

}

¿Volver? mongoOperation

}

}3. Cree una base de datos de datos de prueba, tablas y usuarios en MongoDB.

Al crear una base de datos en MongoDB, se utiliza el comando "Usar XXX", por lo que se requieren algunas operaciones adicionales antes de crear la base de datos. Aquí usted elige crear la tabla "king", si no, puede eliminar la tabla usando "db.king.drop()". Haga clic aquí para obtener documentación de instrucciones detallada para MongoDB. También puede ingresar "ayuda" para obtener ayuda.

4. Escriba el código de prueba para verificar la conexión de la base de datos.

Crea una clase de prueba TestMongoDB.java.

¿Paquete? com.report.Tests

¿Importar? org. marco de primavera. datos. núcleo de MongoDB. org. marco de primavera. datos. MongoDB consulta. com. informe util. mongoutil;

¿Público? ¿clase? ¿PruebaMongoDB? {

¿Privado? ¿Cadena? Nombre;

¿Privado? ¿Cadena? Apellido;

TestMongoDB(¿Cadena? ¿Nombre? ¿Cadena? ¿Apellido?) {

¿Este. =?Nombre;

¿Este apellido? =? Apellido;

}

¿Público? ¿Cadena? obtenerPrimerNombre()? {

¿Volver? Nombre;

}

¿Privado? ¿Vacío? setFirstName(¿Cadena? nombre)? {

¿Este.nombre? =?Nombre;

}

¿Privado? ¿Cadena? obtenerApellido()? {

¿Volver? Apellido;

}

¿Privado? ¿Vacío? setLastName(Cadena? Apellido)? {

¿Este apellido? =? Apellido;

}

¿Público? ¿Electricidad estática? ¿Vacío? main(String[]?args){

TestMongoDB? ¿prueba? =?¿Nuevo? TestMongoDB("John", "Connor");

MongoUtil.getMongoOperation(). Insertar(Prueba);

¿PruebaMongoDB? ¿almacenar? =?MongoUtil.getMongoOperation(). findOne(new? query(Criteria.where("firstName ").is(test.getFirstName()),

testmongodb.class);

if?(almacenamiento?!= ?Vacío)

sistema . println(almacenado. obtener nombre()?+?"?"?+?almacenado. obtener apellido());

}

}Información de salida de la consola Eclipse:? John Connor

Verificar registros de la base de datos: