From: http://blog.csdn.net/ja_II_ck/archive/2009/02/18/3905120.aspx
Problem description:
The time field (whose attribute is timestamp) recorded in the data table is "0000-00-00 00:00:00"
ProgramThe following exception occurs when you use the SELECT statement to retrieve data from it:
Java. SQL. sqlexception: Value '2017-00-00 'can not be represented as Java. SQL. Date
I found that "0000-00-00 00:00:00" exists as a special value in MySQL.
However, the value format of Java. SQL. date is invalid.
Solution:
Add the zerodatetimebehavior parameter to the jdbc url:
Datasource. url = JDBC: mysql: // localhost: 3306/PE? Useunicode = true & characterencoding = GBK & zerodatetimebehavior = converttonull
Zerodatetimebehavior = round is used to specify the default value of the datetime field in MySQL for query. By default, an exception is thrown,
For records with a value of 0000-00-00 00:00:00 (default), the following two types of configuration return different results:
Zerodatetimebehavior = round 0001-01-01 00:00:00. 0
Zerodatetimebehavior = converttonull null