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
网页制作实战项目四:使用DIV+CSS制作网页
下一篇 2018年5月3日 下午9:06

99%的人还看了以下文章

  • 第二课:Maven的下载安装及环境变量配置

    第二课:Maven的下载安装及环境变量配置第二课:Maven的下载安装及环境变量配置第二课:Maven的下载安装及环境变量配置第二课:Maven的下载安装及环境变量配置

    一、Maven的下载 下载地址:http://maven.apache.org/download.cgi 下载完成后,得到一个压缩包apache-maven-***-bin.zip,解压,可以看到maven的组成目录 Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf:含有setting…

    2023年1月27日 编程开发
    9.0K0
  • 什么是单元测试,单元测试快速入门教程一

    单元测试概述 单元测试是在软件开发过程中要进行的最低级别的测试活动或者说是针对软件设计的最小单位—程序模块(程序中定义的函数、子程序、类或方法),进行正确性检验的测试工作,目的在于发现每个程序模块内部可能存在的差错或缺陷。 在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试,主要工作分人工静态检查(静态测试)和动态执行跟踪(动态测试)…

    2018年4月16日
    9.4K0
  • MVC详解:模型(Model)-视图(View)-控制器(Controller)

    MVC(模型-视图-控制结构)是软件开发中常用的一种架构模式。它强制性的将输入、处理和输出分开。使应用程序被分成三个核心部件:模型 (Model)、视图(View)和控制(Controller)。它们各自处理自己的任务,有效地分离存储数据和展示数据功能模块以降低它们之间的耦合度。 MVC体系结构: 模型层主要负责保存和访问业务数据,执行业务逻辑和操作。这一层…

    2020年2月23日
    8.4K0
  • 第一课:maven是什么,为什么使用Maven?

    maven是一款服务于java平台的自动化构建工具。

    2023年1月27日
    4.3K0
  • java 如何格式化显示日期-SimpleDateFormat

    一个格式化显示日期的程序示例 <%@ page import=”java.util.Date”%> <%@ page import=”java.text.SimpleDateFormat”%> <% Date date = new Date(); //获取日期对象 //设置日期时间格式 SimpleDateFormat df =…

    2019年9月10日
    6.7K0
  • 新闻管理系统数据库设计

    新闻管理系统数据库,包含用户表、新闻评论表、管理员表、栏目表、新闻表、评论表、关键字表 每个表的数据字段,数据类型,是否为空,描述,见下表:

    2020年4月11日
    13.6K0

发表回复

登录后才能评论