Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-在本机查询中设置currentDate时间?_Java_Sql_Datetime_Nativequery - Fatal编程技术网

Java-在本机查询中设置currentDate时间?

Java-在本机查询中设置currentDate时间?,java,sql,datetime,nativequery,Java,Sql,Datetime,Nativequery,我的实体中有以下字段: @JsonProperty @列(name=“updated”) @时态(TemporalType.TIMESTAMP) 更新私人日历; 我有以下本机查询,试图在上面设置更新日期: DateFormat DateFormat=new SimpleDateFormat(“yyyy-MM-dd HH:MM:ss”); 字符串updateDate=dateFormat.format(Calendar.getInstance().getTime()); 字符串queryStri

我的实体中有以下字段:

@JsonProperty
@列(name=“updated”)
@时态(TemporalType.TIMESTAMP)
更新私人日历;
我有以下本机查询,试图在上面设置更新日期:

DateFormat DateFormat=new SimpleDateFormat(“yyyy-MM-dd HH:MM:ss”);
字符串updateDate=dateFormat.format(Calendar.getInstance().getTime());
字符串queryString=“更新”+“人员”+
“set updated=“+updateDate”+
“其中person_id=1”;
但是我得到一个错误,说
日期时间值不正确


如何设置该值?它是数据库中的
datetime

如果您真的在执行原始JDBC更新查询,那么您应该在这里使用一个准备好的语句:

String sql=“更新人员集更新=?”?其中person_id=1”;
PreparedStatement ps=conn.prepareStatement(sql);
java.util.Date日期=Calendar.getInstance().getTime();
java.sql.Date sqlDate=new java.sql.Date(Date.getTime());
ps.setDate(1,sqlDate);
int numrowsimpacted=ps.executeUpdate();

但是,您可能需要考虑使用“<代码>日历>代码>,因为它已经被java 8中的一组新的日期/时间函数所取代。请考虑用<代码>本地LoalDeTime< /C> >替换<代码>日历> />代码>尝试使用这个查询。我看到您的查询中也会形成一些语法错误。

String queryString = "update " + "persons" +
                     " set updated = '" + updatedDate + "' " +
                     " where person_id = 1";


您使用的是哪种数据库实现?为什么在java中使用过时的日期和时间API?请尝试使用撇号环绕UpdateDate。数据库中的
DATETIME
可能需要偏移量,这将要求您更改模式。