Cómo utilizar MongoDB con Jackson JSON para lograr un desarrollo rápido de la interfaz
La parte de salida implementará la consulta condición por condición y la salida de los resultados de la consulta obtenidos por Mongo DB. Esto simula un escenario en el que el lado del servidor de una aplicación web responde a solicitudes y envía datos a la página del cliente.
(Nota especial: todos los códigos fuente diseñados en este artículo están codificados en formato UTF-8)
Primero implemente la configuración de la propiedad de conexión
MongoDBConnConfig.java
p>paquete net.csdn.blog.chaijunkun;
clase pública MongoDBConnConfig.javaclase pública MongoDBConnConfig {
//nombre de host o IP de MongoDB
public static final String SERVER= "localhost";
//Puerto MongoDB
public static final int PORT= 27017;
//Nombre de la base de datos used
public static final String ORDERS_DATABASE= "orders";
}
Utilice MongoDB para implementar otro método de integración del framework Morphia
MongoDBDataStore . NETO.
java
paquete net.csdn.blog.chaijunkun;
importar java.net.UnknownHostException;
importar com.google.code.morphia.Datastore
importar com.google.code.morphia.importar com.mongodb.MongoException
MongoDBDataStore.MongoException;
/**
* Con el marco Morphia. Combinado con la clase MongoDB para generar DataStore
* @author chaijunkun
*
*
*//
clase pública MongoDBDataStore {
/**
* Generar objeto de almacén de datos de base de datos de pedidos
* @return devuelve el objeto de almacén de datos y devuelve nulo si se produce una excepción
*/
almacén de datos estático público getOrdersInstance(){
Conexión Mongo = null
prueba {
conexión = new Mongo(MongoDBConnConfig.MongoDBConnConfig.PORT);
} catch (UnknownHostException e) {
return null
} catch (MongoException e) {
return null;
}
Morphia morphia= new Morphia();
return morphia.createDatastore(conexión, MongoDBConnConfig. ORDERS_DATABASE);
}
}
También necesitamos un objeto Java que apunte al documento MongoDB y un objeto Java que apunte a la entidad POJO del JSON de salida. objeto:
OrderInfo.java
paquete net.csdn.blog.chaijunkun.Entity;
importar com.google.code.morphia.annotations.Id;
importar com.google.code.morphia.annotations.PostPersist;
importar com.google.code.morphia.annotations.PrePersist;
importar org. codehaus.jackson.map.annotate .PrePersist;
La anotación en Morphia indica que el objeto se almacena en la colección orderInfo y no almacena el nombre de la clase
La anotación en Morphia indica que el objeto se almacena en orderInf
o Colección y no almacena nombres de clases
La anotación no almacena nombres de clases
@Entity(value="orderInfo", noClassnameStored= true)
público class OrderInfo {
//La anotación en la clave de identificación de morphia es el campo de identificación (campo especial ObjectId de MongoDB)
@Id
//Anotación en la clave de identificación de Jackson No se utiliza durante la serialización y deserialización
@JsonIgnore(value= true)
ID de objeto privado;
ID de pedido largo privado;
privado String productName;
cantidad privada de enteros
precio unitario flotante privado
// Las anotaciones en Jackson identifican el uso de la personalización para este campo Clase DateSerializer para la serialización
@JsonSerialize(using= DateSerializer.class)
// El campo de identificación de anotación en Jackson se serializa utilizando la clase personalizada DateDeserializer para la deserialización
@JsonDeserialize(using = DateDeserializer.class)
fecha privada orderDate;
cadena privada nombre de contacto;
dirección de cadena privada;
p>
private String phone;
@SuppressWarnings("unused")
//La anotación en morphia indica qué hacer antes de guardar en MongoDB Algunas cosas
@PrePersist
private void beforeSaving(){
System.Out.printl("Los objetos están disponibles").
out.println("Objeto a punto de guardarse:" this.toString());
}
@SuppressWarnings("unused")
p> p>
// la anotación en morphia representa qué hacer después de guardar en MongoDB
@PostPersist
private void afterSaving(){
System .out.println("Objeto guardado:" this.toString());
}
// A continuación se muestran los captadores y definidores.
public ObjectId getId() {
return id;
}
public void setId(ObjectId id) {
this.id = id;
}
public Long getOrderId() {
return orderId
}
public void setOrderId(Long orderId) {
this.orderId =
}
public String getProductName() {
devolver nombre del producto )
}
public void setProductName(String productName) {
this.productName = productName
} p>
public Integer getQuantity() {
cantidad devuelta
}
public void setQuantity(Cantidad entera) {
this.quantity = cantidad;
}
public Float(String productName) {
this.quantity = cantidad
}
this.quantity = cantidad
}
public Float(String productName) {
this.quantity = cantidad; p>
p>
}
this.cantidad = cantidad;
public Float getUnitPrice() {
return unitPrice;
}
public void setUnitPrice(Float unitPrice) {
this.unitPrice = unitPrice
}
fecha pública; getOrderDate() {
r
eturn fechaOrden;
}
public void setOrderDate(Fecha FechaOrden) {
this.orderDate = fechaOrden
}
public String getContactName() {
return contactName;
}
public void setContactName(String contactName) {
this.contactName = contactName;
}
public String getAddress() {
dirección de retorno
}
public void setAddress(String dirección) {
this.address = dirección
}
public String getPhone() {
devolver teléfono;
}
public void setPhone(String phone) {
this.phone = teléfono;
} p> p>
this.phone = teléfono;