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

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 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)