mybatis插入Oracle数据库中日期型数据
前端页面type类型是:datetime-local,因为如果是date类型,只显示年月日,不显示时间,这个可以显示时间
但插入时会以:2020-02-0202T10:10 这个格式出现,所以下面代码,将这个格式转换为:2020-02-02 10:10 ,通过修改传来的user,然后通过set方法修改。
1 /** 2 * 新增用户 3 * 4 * @param user 5 * @return 6 */ 7 @Override 8 public boolean insertUser(User user) throws ParseException { 9 //将日期格式化 10 try { 11 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); 12 Date date = formatter.parse(user.getBirth().trim() + ":.803+08:00"); 13 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); 14 String sDate = sdf.format(date); 15 16 user.setBirth(sDate); 17 System.out.println(sDate); 18 } catch (Exception e) { 19 } 20 21 return iRegisterMapper.insertUser(user) > 0; 22 }
修改完毕后调用mapper文件的插入方法
1 <insert id="insertUser" parameterType="User"> 2 insert into tb_user(id,uname,pwd,sex,birth,nickname,email,regtime) 3 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')) 4 </insert>
这样就可以插入正确的格式了
备注:
修改的方法:
1 <!--修改--> 2 <update id="updateUser" parameterType="Map"> 3 update tb_user 4 <trim prefix="set" suffixOverrides=","> 5 <if test="uname!=null">uname=#{uname},</if> 6 <if test="pwd!=null">pwd=#{pwd},</if> 7 <if test="name!=null">name=#{name},</if> 8 <if test="sex!=null">sex=#{sex},</if> 9 <if test="birth!=null">birth=to_date('${birth}','yyyy-mm-dd hh:mi:ss'),</if> 10 <if test="addr!=null">addr=#{addr},</if> 11 <if test="nickname!=null">nickname=#{nickname},</if> 12 <if test="introduce!=null">introduce=#{introduce},</if> 13 <if test="tel!=null">tel=#{tel},</if> 14 <if test="email!=null">email=#{email},</if> 15 </trim> 16 where uname = #{oldUname} 17 </update>
原创文章,转载请说明出处,谢谢合作