zoukankan      html  css  js  c++  java
  • Java中util.Date通过mybatis向数据库中datetime的操作!

    通过mybatis将Java中Date类型字段数据更新或插入到数据库中datetime字段保存

    表结构:

    Java实体类字段:

     代码:

                //处理时间格式,courseMarke与one对应Java实体类字段
                Date startTime1 = courseMarket.getStartTime();
                Timestamp startTime = new Timestamp(startTime1.getTime());
                one.setStartTime(startTime);
                Date endTime1 = courseMarket.getEndTime();
                Timestamp endTime = new Timestamp(endTime1.getTime());
                one.setEndTime(endTime);
                courseMapper.updateCourseMarketById(one);
    

     xml文件:

            UPDATE course_market
            SET
                start_time=#{startTime},
                end_time=#{endTime}
            WHERE id=#{id}        
    

     向mysql数据库插入datetime类型数据的两种方法

    方式一:使用java.sql.Timestamp这个类来进行转换(推荐)

    Date startTime1 = courseMarket.getStartTime();
    
    Timestamp startTime = new Timestamp(startTime1.getTime());

    UPDATE course_market
    SET
      start_time=#{startTime},
      end_time=#{endTime}
    WHERE id=#{id} 

    方式二:将实体类Date类型字段转换成特定格式的字符串String,存入数据库,这样也可以!

    MySQL 中,字段定义为日期datetime格式,如果insert或update语句赋值字符串格式,如:'2019-01-01 12:00:00',MySQL可以自动转为日期格式。

    但如果是用hibernate中的sql 新增或修改,日期格式对应的参数值也必须是日期格式。例如 :

    INSERT INTO '类名'(列1, 列2,...) VALUES (值1, 值2,....)

     如果列1是日期格式,值1也必须是日期格式,不能为字符串。

    不经历风雨,怎能见彩虹?做一个快乐的程序员。
  • 相关阅读:
    android中requestFocus
    @SuppressLint("NewApi")和@TargetApi()的区别
    Gradle基础
    Gradle build-info.xml not found for module app.Please make sure that you are using gradle plugin '2.0.0-alpha4' or higher.
    Duplicate files copied in APK META-INF/DEPENDENCIES
    解决Gradle DSL method not found: ‘android()’
    SSL peer shut down incorrectly
    如何测试远端TCP和UDP端口是否开放
    方法总比困难多
    图灵简传
  • 原文地址:https://www.cnblogs.com/Mr-Elliot/p/13605279.html
Copyright © 2011-2022 走看看