mybatis属性映射中的ZonedDateTime,用于插入到MS-SQL

时间:2015-07-25 20:28:10

标签: java mybatis spring-mybatis

我有一个类(称为类A),它包含一个子类作为属性(称为类B)。

所以

public class Request {
    private User user;
    private ZonedDateTime requestTime;
    //getters,setters
 }
public class User  {
   private Integer userID;
     //getters,setters

我要做的是插入请求,或者在代码中(假设已经创建了myUser和loggerMapper):

Request myRequest = new Request(); 
myRequest.setuser(myUser);
ZonedDateTime z = ZonedDateTime.now();
myRequest.setrequestTime(z);
loggerMapper.logRequest(myRequest);

我有一个界面:

public interface loggerMapper {
    Boolean logRequest(Request myRequest);
}

像这样的xml映射器:

<insert id="logRequest" parameterType="map">
    insert into  Request(userID,requestTime)
    values (#{userID},#{requestTime})
</insert>

myBatis absolutley讨厌ZonedDateTime,它只是关于

的barfs

java.lang.IllegalStateException: Type handler was null on parameter mapping for property 'requestTime'.

1 个答案:

答案 0 :(得分:0)

我通过使用Joda Time和自定义类型处理程序来回答这个问题。

看看这里:http://noobjuggler.blogspot.com/2012/01/mybatis-spring-and-joda-datetime-solved.html