Heim > Java > javaLernprogramm > Hauptteil

Mybatis verwendet Java8-Datumsbeispiele LocalDate und LocalDateTime

黄舟
Freigeben: 2018-05-25 09:51:57
Original
3423 Leute haben es durchsucht

Dieser Artikel stellt Ihnen hauptsächlich die relevanten Informationen darüber vor, wie mybatis das Datum LocalDate und LocalDateTime von Java8 verwendet. Der Artikel stellt es im Detail anhand des Beispielcodes vor. Es hat einen gewissen Referenz-Lernwert für alle, die es brauchen Lassen Sie uns gemeinsam mit dem Herausgeber unten lernen.

Vorwort

Ich glaube, jeder sollte wissen, dass man in der Entität Entity java.sql.Date und java.sql.Timestamp verwenden kann , java.util.Date zur Zuordnung zu Datum, Zeitstempel, Datum/Uhrzeit und anderen Feldern der Datenbank

Die Klassen java.sql.Date, java.sql.Timestamp und java.util .Datum wird nicht gut verwendet, viele Methoden sind veraltet.

Es gibt einige neue APIs in Java8, LocalDate, LocalTime, LocalDateTime sind sehr einfach zu verwenden

Standardmäßig werden Uhrzeit und Datum von Java8 in mybatis nicht unterstützt . Bei direkter Verwendung wird der folgende Fehler gemeldet

Caused by: java.lang.IllegalStateException: No typehandler found for property createTime 
 at org.apache.ibatis.mapping.ResultMapping$Builder.validate(ResultMapping.java:151) 
 at org.apache.ibatis.mapping.ResultMapping$Builder.build(ResultMapping.java:140) 
 at org.apache.ibatis.builder.MapperBuilderAssistant.buildResultMapping(MapperBuilderAssistant.java:382) 
 at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildResultMappingFromContext(XMLMapperBuilder.java:378) 
 at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:280) 
 at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252) 
 at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244) 
 at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116) 
 ... 81 common frames omitted
Nach dem Login kopieren

Die Lösung lautet wie folgt:

Fügen Sie Folgendes direkt hinzu Abhängigkeit

<dependency> 
 <groupId>org.mybatis</groupId> 
 <artifactId>mybatis-typehandlers-jsr310</artifactId> 
 <version>1.0.1</version> 
</dependency>
Nach dem Login kopieren

Nachdem Sie diese Abhängigkeit konfiguriert haben, können Sie das Datum in der Entität durch LocalDate und LocalDateTime ersetzen, und es besteht keine Notwendigkeit, die anderen zu ändern

public class User { 
 private Integer id; 
 private String name; 
 private LocalDate createDate; 
 private LocalDateTime createTime; 
}
Nach dem Login kopieren

Das oben Genannte gilt nur gültig zum Testen in mybatis-Version 3.4.0

Wenn die verwendete mybatis-Version niedriger als 3.4.0 ist, müssen Sie außerdem die folgende

<typeHandlers> 
 <typeHandler handler="org.apache.ibatis.type.InstantTypeHandler" /> 
 <typeHandler handler="org.apache.ibatis.type.LocalDateTimeTypeHandler" /> 
 <typeHandler handler="org.apache.ibatis.type.LocalDateTypeHandler" /> 
 <typeHandler handler="org.apache.ibatis.type.LocalTimeTypeHandler" /> 
 <typeHandler handler="org.apache.ibatis.type.OffsetDateTimeTypeHandler" /> 
 <typeHandler handler="org.apache.ibatis.type.OffsetTimeTypeHandler" /> 
 <typeHandler handler="org.apache.ibatis.type.ZonedDateTimeTypeHandler" /> 
</typeHandlers>
Nach dem Login kopieren

Zusammenfassung konfigurieren

Das obige ist der detaillierte Inhalt vonMybatis verwendet Java8-Datumsbeispiele LocalDate und LocalDateTime. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage