mybaties选择时的类型转换

时间:2018-05-13 10:55:43

标签: oracle mybatis amazon-rds spring-mybatis

我在项目中使用mybaties 3.2.6和AWS Oracle RDS。对于一个表选择,从表中我得到TimeStamp但在对象端我有String。直到现在我使用TO_CHAR从timeStamp(JDBC端)转换为String(Java端)这样的东西..

SELECT SESSION_ID,
      ct.MEMBER_ID as MEMBER_ID  ,
      ct.KO_MEMBER_ID as KO_MEMBER_ID, 
      ct.KO_MEMBER_NAME as KO_MEMBER_NAME, 
      ct.REASON as REASON, 
      TO_CHAR(ct.TICKET_DTM,'YYYY-MM-DD HH24:MI:SS.FF') as TICKET_DTM, 
      ct.DATA_TYPE as DATA_TYPE  
      FROM TICKET ct
      WHERE id=#{Id}
      fetch first 300 rows only

但为了避免DB Function绑定问题,我不想再使用TO_CHAR函数了。我可以在Java end / mybaties结束时做些什么,比如CustomTypeHandler或类似的东西?在插入时我使用带有java类型的CustomTypeHandler和像...一样的Jdbc类型表示法

#{birthday,jdbcType=DATE,javaType=java.lang.String,typeHandler=StringDateTypeHandler}

这适用于插入类型转换...

在选择时是否有某些东西可以帮助我进行类型转换,就像我们要插入一样?

1 个答案:

答案 0 :(得分:0)

您的类型的结果地图中的can specify <link href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" rel="stylesheet"/> <input id="navbarSearchField" type="text" class="form-control searchInputsHeight" style="font-family: Arial, Font Awesome\ 5 Free; font-weight: 900;" placeholder="&#xf002 Location" aria-describedby="navbarDate" />

如果您不为查询使用结果地图,则需要通过在typeHandler中指定resultMap属性来引入它:

select

还要添加 <select id="getTickets" resultMap="ticketResultMap"> ... you query goes here </select> 这样的定义:

resultMap