<sql id="sys_sms_id">SYS_SMS_ID.NEXTVAL</sql>
<insert id="save" parameterType="SmsDO">
insert into SYS_SMS
(
ID,
PHONE,
CODE,
SENDDATE
)
values
(
<include refid="sys_sms_id"/>,
#{phone,jdbcType=VARCHAR},
#{code,jdbcType=VARCHAR},
#{sendDate,jdbcType=DATE}
)
</insert>
在将时间存到oracle里面的时候发现怎么都无法将带时分秒的日期存进去,每次存只能存到年月日。
结果发现在mybatis里面设置传参的jdbcType=DATE的话就会出现问题。
所以改为
<sql id="sys_sms_id">SYS_SMS_ID.NEXTVAL</sql>
<insert id="save" parameterType="SmsDO">
insert into SYS_SMS
(
ID,
PHONE,
CODE,
SENDDATE
)
values
(
<include refid="sys_sms_id"/>,
#{phone,jdbcType=VARCHAR},
#{code,jdbcType=VARCHAR},
#{sendDate}
)
</insert>
2018-05-30更新
当使用的数据库为oracle时,时间类型全部使用TIMESTAMP,即
```
SYS_SMS_ID.NEXTVAL
insert into SYS_SMS
(
ID,
PHONE,
CODE,
SENDDATE
)
values
(
,
#{phone,jdbcType=VARCHAR},
#{code,jdbcType=VARCHAR},
#{sendDate,jdbcType=TIMESTAMP}
)
“`
DATE在oracle中只能存储年月日,TIMESTAMP可以存储到时分秒,所以在使用的时候全部换成TIMESTAMP
本文探讨了在Oracle数据库中使用DATE与TIMESTAMP类型的差异,特别是在MyBatis框架下进行操作时的问题。通过实例展示了如何将包含时分秒的时间数据正确地插入到Oracle数据库中。
1133

被折叠的 条评论
为什么被折叠?



