Mybatis插入Oracle数据库日期型数据过程解析

前端页面type类型是:datetime-local,因为如果是date类型,只显示年月日,不显示时间,这个可以显示时间

但插入时会以:2020-02-0202T10:10 这个格式出现,所以下面代码,将这个格式转换为:2020-02-02 10:10 ,通过修改传来的user,然后通过set方法修改。

/**
   * 新增用户
   *
   * @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.parse(user.getBirth().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 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'))
  

这样就可以插入正确的格式了

备注:

修改的方法:


  
    update tb_user
    
      uname=#{uname},
      pwd=#{pwd},
      name=#{name},
      sex=#{sex},
      birth=to_date('${birth}','yyyy-mm-dd hh:mi:ss'),
      addr=#{addr},
      nickname=#{nickname},
      introduce=#{introduce},
      tel=#{tel},
      email=#{email},
    
    where uname = #{oldUname}
  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Mybatis插入Oracle数据库日期型数据过程解析)