Methode behandeln einfügen Datenwie DuplicateKeyException im Frühjahr Daten mongodb
public String home() {
try
{
MongoData data=new MongoData();
data.setDate(new Date());
data.setName("frji");
//mongoTemplate.insert(data);
mongoTemplate.save(data);
}
catch (DuplicateKeyException e) {
}
catch (MongoException e) {
}
return "home";
}
Entity Klasse
@Document(collection="integer_test")
public class MongoData {
@Id
private String id;
private Date date;
@Indexed(unique=true)
private String name;
@Override
public String toString() {
return "MongoData [date=" + date + ", id=" + id + "]";
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Aber es ist nicht die Ausnahme abfangen. Es wird auf der Benutzeroberfläche angezeigt. Wie kann ich diese Ausnahme in Java-Ende fangen.
com.mongodb.MongoException $ DuplicateKey: { "serverUsed": "192.168.1.113:27017", "ok": 1, "n": 0, "err": „E11000 duplizieren Schlüssel Fehlerindex: jmailer_digigengage.integer_test. $ name dupschlüssel: {: \ "frji \"} "," code ": 11000} um com.mongodb.CommandResult.getWriteException (CommandResult.java:88) um com.mongodb .CommandResult.getException (CommandResult.java:79) bei com.mongodb.DBCollectionImpl.translateBulkWriteException (DBCollectionImpl.java:415) bei com.mongodb.DBCollectionImpl.insertImpl (DBCollectionImpl.java:210) bei com.mongodb. DBCollection.insert (DBCollection.java:176) um com.mongodb.DBCollection.insert (DBCollection.java:161) um com.mongodb.DBCollection.insert (DBCollection.java:107) um com.mongodb.DBCollection. speichern (DBCollection.java:1214) bei com.mongodb.DBCollection.save (DBCollection.java:1179) bei org.springframework.data.mongodb.core.MongoTemplate $ 11.doInCollection (MongoTemplate.java:1106) bei org.springframework.data.mongodb.core.MongoTemplate.execute (MongoTemplate.java:479) bei org.springframework.data.mongodb.core.MongoTemplate.saveDBObject (MongoTemplate.java:1101) bei org.springframework. data.mongodb.core.MongoTemplate.doSave (MongoTemplate.java:1034) bei org.springframework.data.mongodb.core.MongoTemplate.save (MongoTemplate.java:981) bei org.springframework.data.mongodb.core.MongoTemplate.save (MongoTemplate.java:969) bei com. mongo.test.HomeController.home (HomeController.java:62) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) bei sun.reflect. DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.java:498) um org.springframework.web.method.support.InvocableHandlerMethod.doInvoke (InvocableHandlerMethod.java:221) bei org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (InvocableHandlerMethod.java:137) bei org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod.java:111) bei org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter.java:806) bei org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter. java: 729) um org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:85) um org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.Java: 959) bei org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:893) bei org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:970) bei org .springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:861) unter javax.servlet.http.HttpServlet.service (HttpServlet.java:635) um org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet .java-: 846) bei javax.servlet.http.HttpServlet.service (HttpServlet.java:742) bei org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:230) bei org.apach e.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:165) bei org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) bei org.apache.catalina.core. ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:192) bei org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:165) bei org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java: 198) bei org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:96) bei org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:478) bei org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:140) bei org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:80) bei org.apache. catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:624) bei org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:87) bei org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:341) um org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:783) um org.apache.coyote.AbstractProcessorLight.proc ess (AbstractProcessorLight.java:66) bei org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:798) bei org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint. Java: 1441) bei org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) bei java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) bei Java .util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) um org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) bei java.lang.Thread. rennen (Thre ad.java:745)
Es fehlen Anmerkungen zur Bean-Klasse. wie '@ Table',' @ Column', '@ Entity'. Es ist wichtig für die Zuordnung mit Ihrer Datenbank. – F0XS
ich benutze mongodb database also, brauche diese Annotation nicht, um mit db zu kommunizieren –
das funktioniert gut, aber ich versuche, doppelten Namen einzufügen, dann erzeugt es DuplicateKeyException, aber ich bin nicht nicht am Java-Ende behandeln. –