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%的人还看了以下文章

  • 输入python显示不是内部命令的原因及解决方法

    问题原因:没有将python的安装路径添加到环境变量中。 解决方法: 首先在桌面上右键点击“此电脑”,选择“属性”,弹出系统界面选择“高级系统设置”,进入系统属性界面后在“高级”选项中选中“环境变量”。 然后在“系统变量”中找到变量Path,双击Path变量进入编辑界面。 接着在编辑环境变量对话框中点击“新建”,添加Python的安装路径,之后一直点确定即可…

    2023年5月18日 编程开发
    4301
  • 上机实战七:EL和JSTL的使用

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

    2018年12月4日
    4.0K0
  • 分享一个非常实用的连接数据库javabean

    连接mysql数据库的javabean,修改url数据库连接字符串和驱动程序加载代码,即可成为通用的数据库连接BEAN。 package com.common; import java.sql.*; public class DataBaseConn { public  Connection conn = null; public void createCo…

    2020年12月6日
    1.1K0
  • Python数据分析及可视化,科学计算练习题

    第一章 单元测试 1、 问题:数据分析是指通过分析手段、方法和技巧对准备好的数据进行探索、分析,从中发现因果关系、内部联系和业务规则,为商业提供决策参考。( )选项:A:对B:错答案: 【对】 2、 问题:Anaconda中包含了conda、Python在内的超过18个科学包及其依赖项。( )选项:A:对B:错答案: 【对】 3、 问题:数据分析是一个有目的…

    2022年1月29日
    5.0K1
  • 5分钟快速入门AJAX

    什么是AJAX? 第一步:如何发出一个HTTP请求第二步:处理服务器的响应第三步:一个简单的例子第四步:与XML响应协同工作 什么是AJAX AJAX是一个新的合成术语,隐含了两个已经存在多年的JavaScript特性,但是直到最近,随着一些诸如Gmail、Google Suggest以及Google Maps的轰动,才被许多网络开发者所注意到。 我们所讨论…

    2020年4月4日
    9480
  • JSP分页思想—核心代码

    try{condition=”select * from employee_info”; sql=conn.createStatement(); rs=sql.executeQuery(condition); int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数…

    2019年10月30日
    1.8K0

发表回复

登录后才能评论