1. 程式人生 > 實用技巧 >mybatis插入Oracle資料庫中日期型資料

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>