Java向mysql数据库插入datetime类型数据实例(精)

在Mysql数据库中日期跟时间有两种:

1、date类型,date类型也就是我们常见的储存yyyy-MM-dd类型的日期,它不能储存时间,也就是只能储存日期,

2、dateitme就是可以储存日期同时也可以储存时间。 datetime可以保存1000-01-01到 9999-12-31的日期。

Java向mysql数据库插入datetime类型数据实例(精)

上面mysql数据库中birthday字段类型设置的是datetime,当我们需要存入数据库时,直接将java.util.Date存入数据库是不行的!

我往数据库插入的数据是这样的

Date date=new Date(); //获取一个Date对象
DateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建一个格式化日期对象
String birthday= simpleDateFormat.format(date); //格式化后的时间

这样得到的时间对象确实是 “yyyy-MM-dd HH:mm:ss“,程序运行下去应该没有事,但是控制台报错了,因为在实体类中设置字段birthday是使用的java.util.Date类型,然后我传过去自然就是错误的。

import java.util.Date;
public class User{
  private String id;
  private String username;
  private Date birthday;
  ……

需要进行转换,使用Timestamp对象,代码如下:

java.util.Date date = new java.util.Date(); // 获取一个Date对象
Timestamp timeStamp = new Timestamp(date.getTime()); // 将日期时间转换为数据库中的timestamp类型

使用这两行代码转换时间后,我们就可以往数据库插入”yyyy-MM-dd HH:mm:ss“类型。

通过Intellij IDEA查看继承关系,我们可以发现Timestamp对象也是继承了Date类

Java向mysql数据库插入datetime类型数据实例(精)

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

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

   Timestamp t = new Timestamp(user.getBirthay().getTime());
   ps.setTimestamp(3, t);

这样就可以直接存入数据库!

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

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String birthday = df.format(user.getBirthay());
ps.setString(3, birthday);//这样和下面这样都可以!
ps.setObject(3, birthday);

推荐阅读:MySql数据库Timestamp、time、datetime 区别及使用详解

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1859.html

(6)
江山如画的头像江山如画管理团队
上一篇 2018年5月2日 下午3:09
下一篇 2018年5月3日 下午9:06

99%的人还看了以下文章

  • PHP获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法

    php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。

    2023年3月8日
    4.5K0
  • 上机实战七:EL和JSTL的使用

    建议学时:2 一、使用EL表达式简化javaBean的开发 编写一个用户登录的JavaBean,用户信息包括用户名和密码。 编写user.jsp,使用setProperty设置用户名为125jz,密码为123。 使用EL获取用户名和密码并显示。 二、使用EL实现问卷调查 用户输入昵称、所在城市,并且以多选的方式让用户选择所使用的开发语言,然后使用EL表达式显…

    2018年12月4日
    7.4K0
  • Ubantu为非标准应用程序添加桌面图标的操作方法

    本文主要指的是第三方或自己编写的非标准应用程序 需要编写.desktop文件。 主要步骤如下:1、进入/usr/share/applications目录,建立一个空白的文本文件,文件要以.desktop作为扩展名。 命令行进入/usr/share/applications cd /usr/share/applications 2、在文件写入启动自己应用的相应…

    2022年9月1日
    4.4K0
  • Windows10+IIS+PHP7+MySQL5.7环境搭建

    IIS配置 本次搭建使用的系统是Windows7,Windows8,10与此类似。 开启IIS 开始–>控制面板–>程序和功能,点击左边栏的开启或关闭Windows功能,如图: 选择Internet信息服务并选择里面的CGI。打开浏览器,输入localhost或127.0.0.1,可以正常打开网页则说明开启成功。 新建站点…

    2021年8月14日 编程开发
    5.8K0
  • JSP页面使用Servlet制作图形验证码

    本文给大家分享的是JSP验证码的制作,通过Servlet生成图形验证码,调用非常方便,希望对大家有所帮助。

    2022年12月1日
    1.7K0
  • aspx文件编码不统一导致乱码

    今天发现了一个很奇怪的现象,页面在VS2008下面,有些页面乱码,而有些則不会。 上网查找了很多方法均不能解决,根据以前开发asp,php的经验,怀疑这些页面的编码可能不一样。 在VS2008下面还真的不知道在哪里看文件的编码,用Dreamweaver打开一个乱码跟一个不乱码的页面对比了一下,发现一个是gb2312(不乱码),而别外一个则是utf-8(乱码)…

    2019年2月14日
    3.0K0

发表回复

登录后才能评论