sanshui_yangfei 2021-09-07 22:36 采纳率: 20%
浏览 1816
已结题

mysql数据库访问,遇到Cannot convert java.time.LocalDateTime to java.util.Date的问题

之前一直正常运行的代码,遇上Date类型转换错误。
环境:tomcat9.0.46/mysql 8.0.26/jdk1.8.0_301
组件:dbutils1.7 mysql-connector-java8.0.26
Manager类

public class Manager {
    private static final int entityId=7;
    private Integer managerId;
    private Integer departmentId;
    private String departmentName;
    private String managerName;
    private String loginName;
    private String password;
    private Boolean allowLogin;
    private Date pwdUpdateTime;
        //setter getter不贴了
}

manager表

+---------------+-------------+------+-----+---------+----------------+
| Field         | Type        | Null | Key | Default | Extra          |
+---------------+-------------+------+-----+---------+----------------+
| managerId     | int         | NO   | PRI | NULL    | auto_increment |
| managerName   | varchar(30) | NO   | UNI | NULL    |                |
| departmentId  | int         | YES  | MUL | NULL    |                |
| loginName     | varchar(20) | NO   |     | NULL    |                |
| password      | varchar(64) | NO   |     | NULL    |                |
| allowLogin    | tinyint(1)  | NO   |     | 0       |                |
| pwdUpdateTime | datetime    | YES  |     | NULL    |                |
+---------------+-------------+------+-----+---------+----------------+

用户验证代码

public Manager getManagerByLoginNameAndPassword(String loginName, String password) throws SQLException {
        QueryRunner qr=JdbcPool.getQueryRunner();
                String sql="select managerId,managerName,loginName,allowLogin,pwdUpdateTime 
                            from manager where loginName=? and password =sha2(?,256)";
        return qr.query(sql, new BeanHandler<Manager>(Manager.class),loginName,password);
    }

出错代码

java.sql.SQLException: Cannot set pwdUpdateTime: incompatible types, cannot convert java.time.LocalDateTime to java.util.Date Query: select managerId,managerName,loginName,allowLogin,pwdUpdateTime from manager where loginName=? and password =sha2(?,256) Parameters: [zhangsan , 123456]
    at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:527)
    at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:391)
    at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:329)
        。。。。。。。。。。

请各位指导,谢谢!

  • 写回答

4条回答 默认 最新

  • 月下睡美人 2021-09-07 23:27
    关注

    8.0的驱动得在连接上加时区的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月26日
  • 已采纳回答 9月18日
  • 修改了问题 9月7日
  • 创建了问题 9月7日

悬赏问题

  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题