MySQL的Date数据0000-00-00报错

来源:互联网 发布:最全家庭网络投资理财 编辑:程序博客网 时间:2024/06/05 09:56

读取MySQL的用户数据时报错

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.TransientDataAccessResourceException: Error attempting to get column 'R_dateOfBirth' from result set.  Cause: java.sql.SQLException: Value 'xxxx123456789@qq.com1234567890000-00-00�00�2017-08-190000' can not be represented as java.sql.Date; SQL []; Value 'xxxx123456789@qq.com1234567890000-00-00�00�2017-08-190000' can not be represented as java.sql.Date; nested exception is java.sql.SQLException: Value 'xxxx123456789@qq.com1234567892017-08-190000' can not be represented as java.sql.Dateorg.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)javax.servlet.http.HttpServlet.service(HttpServlet.java:622)org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
错误原因:MySQL中的Date格式数据R_dateOfBirth默认是0000-00-00,而0000-00-00如果直接读取到SSM框架的entity实体里,会报错,哪怕改成null都不会报错。