我通过表单接受用户数据,我想在我的 SQL 数据库中添加系统日期和时间,我应该如何使用 JAVA 来完成?
Posted
技术标签:
【中文标题】我通过表单接受用户数据,我想在我的 SQL 数据库中添加系统日期和时间,我应该如何使用 JAVA 来完成?【英文标题】:I am accepting User data via Form, I want to add System Date and Time in my SQL Database, how should I do it using JAVA? 【发布时间】:2018-07-10 06:38:29 【问题描述】:这是我的 DAO 实现。 我应该如何在我的 Sql 数据库中插入时间戳和日期。 ? 我不希望用户输入时间和日期,它应该根据系统当前的日期和时间自动设置。
@Override
public void saveOrUpdate(Contact contact)
if (contact.getId() > 0)
// update
String sql = "UPDATE contact SET name=?, email=?, address=?, "
+ "telephone=? WHERE contact_id=?";
jdbcTemplate.update(sql, contact.getName(), contact.getEmail(),
contact.getAddress(), contact.getTelephone(), contact.getId());
else
// insert
String sql = "INSERT INTO contact (name, email, address, telephone)"
+ " VALUES (?, ?, ?, ?)";
jdbcTemplate.update(sql, contact.getName(), contact.getEmail(),
contact.getAddress(), contact.getTelephone());
【问题讨论】:
努力更改您的代码,您发布的内容显示没有任何努力 您必须先在表中添加一列以保留日期时间数据。使用ALTER TABLE
命令。然后更新您的 java 代码以反映相同
首先想到的是:只需将 new Date() 添加到您的字段并从 util.sql.Date 导入。还为该字段生成吸气剂
@Ab Sin 我想知道java代码。
【参考方案1】:
幸好mysql有日期/时间功能,所以一个可能的解决方案是:
@Override
public void saveOrUpdate(Contact contact)
if (contact.getId() > 0)
// update
String sql = "UPDATE contact SET name=?, email=?, address=?, "
+ "telephone=?, timestamp=NOW() WHERE contact_id=?";
jdbcTemplate.update(sql, contact.getName(), contact.getEmail(),
contact.getAddress(), contact.getTelephone(), contact.getId());
else
// insert
String sql = "INSERT INTO contact (name, email, address, telephone, timestamp)"
+ " VALUES (?, ?, ?, ?, NOW())";
jdbcTemplate.update(sql, contact.getName(), contact.getEmail(),
contact.getAddress(), contact.getTelephone());
【讨论】:
谢谢,这会在我的数据库中添加当前系统时间,但是当我编辑条目时它会改变。您能否指导我如何在每次编辑记录时不更改时间。 再次从更新子句中删除时间戳字段。【参考方案2】:在您的 Contact.java 中,您首先必须创建一个时间戳import java.sql.Timestamp;
private Timestamp createdAt;
@Column(name = "timestamp", length = 29)
public Timestamp getCreatedAt()
return this.createdAt;
public void getCreatedAt(Timestamp createdAt)
this.createdAt= createdAt;
然后在你的 DAO 中:
@Override
public void saveOrUpdate(Contact contact)
if (contact.getId() > 0)
// update
String sql = "UPDATE contact SET name=?, email=?, address=?, "
+ "telephone=?, timestamp=? WHERE contact_id=?";
jdbcTemplate.update(sql, contact.getName(), contact.getEmail(),
contact.getAddress(), contact.getTelephone(), contact.getCreatedAt(), contact.getId());
else
// insert
String sql = "INSERT INTO contact (name, email, address, telephone, timestamp) VALUES (?, ?, ?, ?, ?)";
jdbcTemplate.update(sql, contact.getName(), contact.getEmail(),
contact.getAddress(), contact.getTelephone(), new Timestamp(System.currentTimeMillis()));
检查这是否有效。
【讨论】:
以上是关于我通过表单接受用户数据,我想在我的 SQL 数据库中添加系统日期和时间,我应该如何使用 JAVA 来完成?的主要内容,如果未能解决你的问题,请参考以下文章
我想在 PL SQL 中接受用户输入并将其传递给程序,给我看一个简单的程序吗?
我正在尝试将我的表单链接到我的 PHP 页面,并且我想在用户单击提交按钮时将用户的输入打印到该页面上
我想通过接受用户输入通过 JavaScript 在我的 DOM 中打印一个 Rectangle,但是当我运行此代码时,我得到 'str' 未定义