Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.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 JDBC查询不';当给定NamedParameterJdbcOperation将日期作为参数(在params映射中)时不起作用_Java_Mysql_Date_Jdbc_Named Parameters - Fatal编程技术网

Java JDBC查询不';当给定NamedParameterJdbcOperation将日期作为参数(在params映射中)时不起作用

Java JDBC查询不';当给定NamedParameterJdbcOperation将日期作为参数(在params映射中)时不起作用,java,mysql,date,jdbc,named-parameters,Java,Mysql,Date,Jdbc,Named Parameters,我尝试使用JDBC查询我的Mysql数据库 我使用org.springframework.jdbc.core.namedparam.namedparameterjdbc操作 my\u表中的DATE\u列定义为DATE列(也是主键) 有效的查询的简化版本如下所示: SELECT * FROM my_table WHERE DATE_FROM >='2015-03-01'; SELECT * FROM my_table WHERE DATE_FROM >=:fromDate; map

我尝试使用JDBC查询我的Mysql数据库

我使用
org.springframework.jdbc.core.namedparam.namedparameterjdbc操作

my\u表
中的
DATE\u列定义为
DATE
列(也是主键)

有效的查询的简化版本如下所示:

SELECT * FROM my_table WHERE DATE_FROM >='2015-03-01';
SELECT * FROM my_table WHERE DATE_FROM >=:fromDate;
map.put("fromTime", '2015-03-01');
namedParameterJdbcOperations.update(sql, map);
但随后,我尝试将“2015-03-01”更改为命名参数。查询如下所示:

SELECT * FROM my_table WHERE DATE_FROM >='2015-03-01';
SELECT * FROM my_table WHERE DATE_FROM >=:fromDate;
map.put("fromTime", '2015-03-01');
namedParameterJdbcOperations.update(sql, map);
当我调用
NamedParameterJdbcOperations.update()
时,如下所示:

SELECT * FROM my_table WHERE DATE_FROM >='2015-03-01';
SELECT * FROM my_table WHERE DATE_FROM >=:fromDate;
map.put("fromTime", '2015-03-01');
namedParameterJdbcOperations.update(sql, map);
虽然据我所知,一切都是一样的,但我得到:

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: ''2015-03-01'' for column 'MEASUREMENT_DATE' at row 1.

有人知道为什么吗?

您是否意识到您在SQL中将占位符命名为“fromDate”,在地图中,您将其命名为“fromTime”

使用
java.SQL.Date
。@MarkrotVeel,我试过了,它给出了相同的异常。