mybatis-plus连接sqlserver数据库 查询datetime2字段由LocalDateTime承接 报错Error attempting to get column 'MAKE_TIME' from result set
时间: 2024-02-09 10:20:16 浏览: 26
这个错误是因为在从结果集中获取数据时,尝试获取名为'MAKE_TIME'的列,但是该列的数据类型为`datetime2`,而在你的Java中使用`LocalDateTime`类型承接这个数据,类型不匹配导致的。
解决这个问题,有两种方法:
1. 将查询结果中的`datetime2`类型的列改为`datetime`类型(如果你不需要高精度时间的话),或者改为`timestamp`类型(如果你需要高精度时间的话)。
2. 在你的Java代码中,将承接这个数据的类型改为`java.sql.Timestamp`类型,可以用`ResultSet.getTimestamp()`方法来获取时间戳类型的数据。
希望这些信息可以帮到你。如果你有更多的问题,请随时问我。
相关问题
Error attempting to get column 'create_time' from result set
根据提供的引用内容,报错"Error attempting to get column 'create_time' from result set"的原因是Java中的createTime属性的类型是LocalDateTime,而数据库表的create_time类型为DateTime。在Druid1.1.21版本的数据源中不支持Java8的时间、日期类型。解决这个问题有两种方法:
1. 升级Druid到1.1.21版本:通过升级Druid数据源到1.1.21版本,可以解决这个问题。
2. 保持MyBatis Plus版本为3.1.0:如果不想升级Druid,可以将MyBatis Plus版本保持在3.1.0,这样就不会出现上述问题。
另外,还可以通过修改LocalDateTime为date类型来解决这个问题。
org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'create_time' from result set
这个异常通常是由于在使用Mybatis-plus时,实体类中的日期类型与数据库中的日期类型不匹配所导致的。具体来说,可能是实体类中的日期类型为LocalDate、LocalTime、LocalDateTime等,而数据库中的日期类型为Date、Time、Timestamp等。解决这个问题的方法是在Mybatis-plus的配置文件中添加一个类型处理器,将LocalDate、LocalTime、LocalDateTime等日期类型转换为对应的Date、Time、Timestamp等类型。具体的配置方法可以参考Mybatis-plus官方文档。另外,如果使用的是druid数据源,也需要确保druid的版本高于1.1.21,否则也会出现类似的问题。