java.time.LocalDateTime 与 java.util.Date/java.sql.Date

问题遇到的现象和发生背景

MySql中datetime类型,在JAVA中用java.util.Date类型变量 和 java.sql.Date类型变量怎么接收呢?

报错:
Cannot set Date: incompatible types, cannot convert java.time.LocalDateTime to java.util.Date
Cannot set Date: incompatible types, cannot convert java.time.LocalDateTime to java.sql.Date

请问怎么解决呢?

使用.toLocalDateTime()方法接收

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class Main {
    public static void main(String[] args) {
        Date date = new Date();
        Instant instant = date.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();

        LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
        System.out.println("Date = " + date);
        System.out.println("LocalDateTime = " + localDateTime);
    }
}

如果不行,则修改驱动包到较低的版本

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
            <scope>runtime</scope>
        </dependency>