Java 日期 - 插入数据库
要将带有 java.util.Date 字段的记录插入数据库,您将需要将 java.sql.PreparedStatement 与 java.sql.Date 一起使用或java.sql.Timestamp.
原始代码和问题
原始代码的问题是您尝试将 java.util.Date 直接插入到数据库作为字符串。相反,您应该将 java.util.Date 转换为 java.sql.Date 并使用准备好的语句插入值:
java.util.Date 到 java.sql.Date
java.util.Date myDate = new java.util.Date("01/01/2009"); java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
准备好了语句
sb.append("INSERT INTO USERS"); sb.append("(USER_ID, FIRST_NAME, LAST_NAME, SEX, CRDATE) "); sb.append("VALUES ( "); sb.append("?, ?, ?, ?, ?"); sb.append(")"); Connection conn = ...; // get the connection somehow PreparedStatement stmt = conn.prepareStatement(sb.toString()); stmt.setString(1, userId); stmt.setString(2, myUser.GetFirstname()); stmt.setString(3, myUser.GetLastname()); stmt.setString(4, myUser.GetSex()); stmt.setDate(5, sqlDate);
优点
使用准备好的语句有几个优点:
以上是如何使用 Java 正确地将 `java.util.Date` 插入数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!