问题:
我在尝试执行以下操作时遇到错误将带有 java.util.Date 字段的记录插入数据库。该错误指出“日期时间值的字符串表示形式的语法不正确。”如何解决这个问题?
解决方案:
要将 java.util.Date 字段插入数据库,您应该首先考虑使用对象关系映射 ( ORM)解决方案(例如 Hibernate)来抽象 SQL 查询。但是,如果这不可行,您可以使用以下步骤:
示例:
java.util.Date myDate = new java.util.Date("10/10/2009"); java.sql.Date sqlDate = new java.sql.Date(myDate.getTime()); Connection conn = ...; // Obtain the database connection String sql = "INSERT INTO USERS (USER_ID, FIRST_NAME, LAST_NAME, SEX, DATE) VALUES (?, ?, ?, ?, ?);"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setString(1, userId); stmt.setString(2, myUser.GetFirstName()); stmt.setString(3, myUser.GetLastName()); stmt.setString(4, myUser.GetSex()); stmt.setDate(5, sqlDate); stmt.executeUpdate(); // Execute the SQL query
这种方法会自动转义字符串并防止 SQL 注入漏洞.
以上是如何正确地将 java.util.Date 字段插入数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!