首页 > 数据库 >mysql使用datetime,java如何保存

mysql使用datetime,java如何保存

时间:2024-04-07 16:02:47浏览次数:23  
标签:java mysql Timestamp LocalDateTime ts datetime MySQL MyBatis

CREATE TABLE `user` (
    ```省略部分代码```
  	`create_time` datetime NOT NULL COMMENT '创建时间'
  	 ```省略部分代码```
 )

java

class User {
	private Timestamp createTime;
}

java8
import java.sql.Timestamp;

```省略部分代码```
LocalDateTime now = LocalDateTime.now(); // 获取当前日期时间
Timestamp ts = Timestamp.valueOf(now); // 将LocalDateTime转换为Timestamp
System.out.println("当前时间戳为: " + ts.toString());
user.setCreateTime(ts);
```省略部分代码```

低于java8
import java.sql.Timestamp;

```省略部分代码```
Date date = new Date(); // 使用系统当前日期/时间.
long time = date.getTime(); // 获取毫秒级别的时间
Timestamp ts = new Timestamp(time); // 创建Timestamp对象
System.out.println("当前时间戳为: " + ts.toString()); // 输出当前时间戳.
user.setCreateTime(ts);
```省略部分代码```

MySQL的datetime类型存储格式通常是YYYY-MM-DD HH:MM:SS。在Java程序中,我们经常将datetime类型的数据转换成时间戳来方便处理,特别是在涉及到日期时间计算或者比较的时候。
如果需要将Java中的Timestamp对象存储到MySQL的datetime类型列中,你只需要在插入数据时使用适当的SQL语句。同样的,当你从MySQL数据库的datetime类型列中查询数据时,你也可以将其读取为Java的Timestamp对象。
MySQL的JDBC驱动程序可以自动完成Java程序和MySQL数据库之间转换日期时间数据。

Mybatis

如果你在使用MyBatis框架,你仍然可以很方侈地处理和存储时间戳和MySQL中的datetime类型数据。MyBatis的映射文件可以帮助你在Java对象和数据库表之间转换数据。这里有一个简单的例子来展示如何在MyBatis配置中映射datetime:
首先,确保你的实体类中有一个用来表示日期和时间的LocalDateTime字段。例如:

public class User {
    private LocalDateTime createTime;
    // getters and setters
}

接着,在MyBatis的映射文件中,你可以像这样设置一个插入操作:

<insert id="save" parameterType="User">
  INSERT INTO your_table (create_time) VALUES (#{createTime})
</insert>

MyBatis会自动处理LocalDateTime和MySQL datetime类型之间的转换。当运行这个插入命令时,你的LocalDateTime值会被正确转换并存储在数据库的datetime列中。
对于查询操作,MyBatis也会自动将查询结果从数据库的datetime类型转换为Java的LocalDateTime类型:

<select id="select" resultType="User">
  SELECT create_time FROM user
</select>

在配置好映射之后,可以直接在你的Mapper接口中定义方法,然后像平时一样调用这些方法来执行数据库操作。MyBatis会负责幕后的类型转换工作。

注:
mybatis3.4.0版本报错
No typehandler found for property createTime

标签:java,mysql,Timestamp,LocalDateTime,ts,datetime,MySQL,MyBatis
From: https://blog.csdn.net/weixin_43833540/article/details/137461216

相关文章

  • java为什么要使用接口呢 用例子带你全面理解接口
    接口的概念简单来说接口就是一个框架这就像做数学题的时候,需要套用固定的步骤是一样的在编程时,如果需要实现多个类似或者相同的模块,那么使用接口,可以让你拥有一套随时可以编辑的步骤.接口的意义在Java中,接口(Interface)扮演着非常关键的角色,它们有以下意义和作用:......
  • 【Java业务需求解决方案】分布式锁应用详情,多种方案选择,轻松解决,手把手操作(非全数
    目录背景:解决方案:分布式锁方案一(不建议,但原理得懂):Redis锁setnx与业务代码处理雏形代码产生问题一:锁释放问题代码改造:锁添加过期时间产生问题二:锁被别的线程误删代码改造:添加setnx锁请求标识防勿删产生问题三:递归容易造成内存溢出代码改造:递归改造while循环产生......
  • 【WEEK6】Learning Objectives and Summaries【MySQL】【English Version】
    LearningObjectives:TwoweekstofinishlearningMySQL-WeektwoLearningContent:Referencevideotutorials【狂神说Java】MySQL最新教程通俗易懂QuerydatabyDQLMySQLfunctionsMD5encryptionTransactionsLearningtimeandoutputs:Week6MON~WED,SUN......
  • MySQL分组查询实例
    DDL——学生表——成绩表CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`ag......
  • 基于 bindview.js + node + mysql 的简易记账系统
    该项目前端是基于bindview.js和bootcss,后端的基于node.js使用了express框架,数据库使用的mysql8 bindview: bronze-ding/bindview:Bindview.js,是一个使用虚拟DOM来创建真实DOM并提供了数据响应式的Javascript工具库(github.com)功能包括:增加,删除,修改,查询登录......
  • 1688详情API接口:解锁多元化应用场景java php c++
    随着互联网的快速发展,数据交换和信息共享已成为企业日常运营不可或缺的一部分。在这样的背景下,API(应用程序接口)接口作为实现数据互通的重要工具,受到了越来越多企业的青睐。1688详情API接口作为阿里巴巴旗下的重要接口之一,为企业提供了丰富多元的应用场景,助力企业高效推广一、1688......
  • Java入门基础知识第五课(超基础,超仔细)——选择结构
    今天主要讲一下if选择结构以及如何利用Math.random()来获取随机数。流程控制:用来控制代码的执行顺序  顺序结构:代码从上往下按照顺序依次执行选择结构:根据条件选择性的执行某部分代码循环结构:反复执行一段代码一、if选择结构1、单分支if选择结构         语......
  • 毕业设计程序开源 Spring Boot+vue.js+Echart+mysql +QT+halcon
    1.介绍 涉及到的技术框架比较多,但是也不难,相关技术需要些基础。目前还是个半成品,还有些数据图表和QT功能没做完善,本来想在前端部分做大数据分析平台的,后续有空再完善。下面简单介绍一下。源代码此处:链接:https://pan.baidu.com/s/1904kLOv4EDJkcBuuNe1jqw?pwd=6666 提取码:6......
  • 初识MySQL(下篇)
    使用语言 MySQL使用工具 NavicatPremium16代码能力快速提升小方法,看完代码自己敲一遍,十分有用目录1.MySQL存储引擎 1.1 MySQL存储引擎基本概念1.2 常用的存储引擎1.2.1 常用的两种引擎功能1.2.2InnoDB存储引擎的使用场景1.2.3  MyISAM存储引擎的使用场景......
  • (毕设)基于Java+Vue+Mysql的WMS仓库管理系统
      前言: WMS(WarehouseManagementSystem)仓库管理系统是一个用于优化仓库操作、提高效率和准确性的软件解决方案。以下是针对列出的WMS仓库管理系统的各个部分的简要描述:1.订单管理订单管理是WMS的核心功能之一,涉及处理、跟踪和完成客户订单。这包括:订单录入:手动或自......