Mybatis插⼊Oracle数据库⽇期型数据过程解析
前端页⾯type类型是:datetime-local,因为如果是date类型,只显⽰年⽉⽇,不显⽰时间,这个可以显⽰时间
但插⼊时会以:2020-02-0202T10:10 这个格式出现,所以下⾯代码,将这个格式转换为:2020-02-02 10:10 ,通过修改传来的user,然后通过set⽅法修改。
/**
* 新增⽤户
oracle 时间转换*
* @param user
* @return
*/
@Override
public boolean insertUser(User user) throws ParseException {
//将⽇期格式化
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
Date date = formatter.Birth().trim() + ":.803+08:00");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String sDate = sdf.format(date);
user.setBirth(sDate);
System.out.println(sDate);
} catch (Exception e) {
}
return iRegisterMapper.insertUser(user) > 0;
}
修改完毕后调⽤mapper⽂件的插⼊⽅法
<insert id="insertUser" parameterType="User">
insert into tb_user(id,uname,pwd,sex,birth,nickname,email,regtime)
values(Sequence_User_Id.NEXTVAL,#{uname},#{pwd},#{sex},to_date('${birth}','yyyy-mm-dd hh:mi:ss'),#{nickname},#{email},to_date('${birth}','yyyy-mm-dd hh:mi:ss'))  </insert>
这样就可以插⼊正确的格式了
备注:
修改的⽅法:
<!--修改-->
<update id="updateUser" parameterType="Map">
update tb_user
<trim prefix="set" suffixOverrides=",">
<if test="uname!=null">uname=#{uname},</if>
<if test="pwd!=null">pwd=#{pwd},</if>
<if test="name!=null">name=#{name},</if>
<if test="sex!=null">sex=#{sex},</if>
<if test="birth!=null">birth=to_date('${birth}','yyyy-mm-dd hh:mi:ss'),</if>
<if test="addr!=null">addr=#{addr},</if>
<if test="nickname!=null">nickname=#{nickname},</if>
<if test="introduce!=null">introduce=#{introduce},</if>
<if test="tel!=null">tel=#{tel},</if>
<if test="email!=null">email=#{email},</if>
</trim>
where uname = #{oldUname}
</update>
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。