MyBatis无法使用joda DateTime?

cod*_*erz 5 java oracle datetime jodatime mybatis

我正在使用MyBatis 3.2,并希望将Oracle DATE数据类型映射到Java org.joda.time.DateTime数据类型.

这是我的配置:

<resultMap id="something" type="com.myself.SomeClass">
  <result property="creationDate" column="CREATION_DATE" javaType="org.joda.time.DateTime" />
</resultMap>
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误:

Caused by: org.apache.ibatis.builder.BuilderException
         : Error parsing SQL Mapper Configuration. 
Cause    : org.apache.ibatis.builder.BuilderException
         : Error parsing Mapper XML. 
Cause    : java.lang.IllegalStateException
         : No typehandler found for property creationDate
Run Code Online (Sandbox Code Playgroud)

我的配置是否正确?或者它是由我的Oracle数据类型DATE而不是DATETIME?MyBatis支持joda DateTime吗?

Fra*_*ala 6

我认为您需要使用TypeResolver来处理JodaTime到Oracle DateTime.我有使用MyBatis和MySQL的经验,您可能会使用这个指南,可以帮助您解决问题.

我使用这个github项目作为如何使用TypeResolver的指南:https://github.com/LukeL99/joda-time-mybatis

在我的一个映射器中,我有这个代码:

<result column="expiryDate" property="expiryDate" javaType="org.joda.time.DateTime" typeHandler="org.joda.time.mybatis.handlers.DateTimeTypeHandler"/>
Run Code Online (Sandbox Code Playgroud)

org.joda.time.mybatis.handlers.DateTimeTypeHandler是我发布的github项目中的类.

我希望这有助于指导你.