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

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

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

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

9c33a72acbd80fdca539e7ad74700b38.png

上面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类

9c33a72acbd80fdca539e7ad74700b38.png

向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);

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用以下SQL语句来查询MySQLdatetime字段当月的数据: SELECT * FROM 表名 WHERE MONTH(时间字段) = MONTH(NOW()) 这个语句,MONTH函数用于提取时间字段的月份,NOW函数用于获取当前日期和时间。通过比较两个月份是否相等,你可以筛选出当月的数据。将"表名"替换为你的表的实际名称,"时间字段"替换为你的datetime字段的实际名称即可。 例如,如果你的表名为"my_table",datetime字段的名称为"date_time",那么查询语句将是: SELECT * FROM my_table WHERE MONTH(date_time) = MONTH(NOW()) 这将返回该表datetime字段为当月的所有记录。请注意,这个查询只会返回当月的数据,不会包括上个月或下个月的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [mysql根据字段判断查询前一周数据](https://blog.csdn.net/yetaodiao/article/details/127369586)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [MySql 按时间段查询数据方法(实例说明)](https://download.csdn.net/download/weixin_38595243/13718829)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [MySQL查询当天当月数据](https://blog.csdn.net/weixin_36166714/article/details/111955046)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值