java - 在 SQL DB 中插入空 java.sql.Date 的更优雅的方法

标签 java mysql sql date

您好,我正在尝试通过 Servlet 在 SQL 数据库中插入日期。如果提交的帖子字段生日为空,则应插入 0000-00-00

但这有点复杂。

我是这样做的并且有效:

if (birthdate == null) {
            ps_employee.setInt(4, 0); //ps_employee is my PreparedStatement
        } else {
            ps_employee.setDate(4, birthdate);
        }

如果 post 字段没有值,birthday 为 null。否则生日包含一个有效的 java.sql.date 对象。

上面的代码有效,但它在 sql 中显示了一个警告:“data for birthday truncated”...

有没有更好的方法来插入 0000-00-00 日期???

谢谢你的帮助..

最佳答案

  String query="INSERT INTO tablename values(?) "
  Connection connection = get the dbconn;
  PreparedStatement preparedStatement= connection.prepareStatement(query);      
  preparedStatement.setNull(0, java.sql.Types.DATE)

关于java - 在 SQL DB 中插入空 java.sql.Date 的更优雅的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12591242/

相关文章:

java - 如何获取特定 pdf 表单字段的页码和位置,并在 iText7 中的相应位置插入表格?

java - 在 win8 上使用 eclipse 调试 war 文件中的小程序。 Java 7 15

java - 如何记录来自 Akka (Java) 的所有传入消息

mysql - 使用 flyway 时在启动时清除数据库

php - 自动加载下拉菜单值

java - hibernate 查询执行时将空值分配给原始类型的属性?

java - Tomcat : Installing LetsEncrypt certificate for https, 不工作

sql - 将唯一约束应用于 SQL 中的列组合

sql - 带窗函数的运行总和

mysql - 从 mysql 中的另一个表更新表值,其中更新的字段是外键