java.sql.SQLFeatureNotSupportedException解决方法

这篇具有很好参考价值的文章主要介绍了java.sql.SQLFeatureNotSupportedException解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用MyBatis访问数据库查询数据时报错:

Caused by: java.sql.SQLFeatureNotSupportedException
    at com.alibaba.druid.pool.DruidPooledResultSet.getObject(DruidPooledResultSet.java:1771)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.ibatis.logging.jdbc.ResultSetLogger.invoke(ResultSetLogger.java:69)
    at com.sun.proxy.$Proxy102.getObject(Unknown Source)
    at org.apache.ibatis.type.LocalDateTimeTypeHandler.getNullableResult(LocalDateTimeTypeHandler.java:38)
    at org.apache.ibatis.type.LocalDateTimeTypeHandler.getNullableResult(LocalDateTimeTypeHandler.java:28)
    at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:85)
    at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyAutomaticMappings(DefaultResultSetHandler.java:560)
    at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:402)
    at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:354)
    at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:328)
    at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:301)
    at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:194)
    at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65)
    at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
    at com.sun.proxy.$Proxy99.query(Unknown Source)
    at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)
    at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
    at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
    at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)
    at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65)
    at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
    at com.sun.proxy.$Proxy98.query(Unknown Source)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
    ... 44 more

根据异常,定位到抛出异常的代码,断点调试下,再次运行,如下图:
java.sql.sqlfeaturenotsupportedexception: 不支持的特性: createarrayof,Java,MySQL,Q&A,java,Druid,Mybatis-Plus

可以看出,create_time映射到LocalDateTime时抛出异常,时间类型映射不支持LocalDateTime,
entity和mapper是通过mybatis-plus-generator工具生成的,mybatis-plus及druid版本:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.1</version>
</dependency>

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.29</version>
</dependency>

生成的实体对象时间字段:

/**
 * 创建日期
 */
private LocalDateTime createTime;

/**
 * 更新时间
 */
private LocalDateTime modifyTime;

解决办法:
此处可以将create_time映射的对象改为:

/**
 * 创建日期
 */
private Date createTime;

/**
 * 更新时间
 */
private Date modifyTime;

或者升级druid的版本到1.1.18:文章来源地址https://www.toymoban.com/news/detail-769785.html

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.18</version>
</dependency>

到了这里,关于java.sql.SQLFeatureNotSupportedException解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry ‘xxx‘ for key ‘xxx‘错误的解决方法

    今天写好 导入hive表 的接口,如下代码所示: 启动 postman 访问该接口,确报出如下错误: 错误信息比较多,我们就截取如上重要的信息: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \\\'missionMockId-x01\\\' for key \\\'idx_misstion_id_deleted\\\' 。 根据 java.sql.SQLIntegrityConstraintViolationExce

    2024年02月09日
    浏览(42)
  • 已解决java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)异常的正确解决方法,亲

    已解决java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)异常的正确解决方法,亲测有效!!! java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 这个错误是由于用户 ‘root’ 在本地主机上使用错误的密码导致的。 下滑查看解决方

    2024年02月02日
    浏览(52)
  • Error attempting to get column ‘xxx‘ from result set. Cause: java.sql.SQLDataException错误的解决方法

    今天写好 导入hive表的详情列表 的接口,如下代码所示:

    2023年04月23日
    浏览(43)
  • SQL注入的一些示例及解决SQL注入的方法

    SQL注入是一种常见的网络攻击手段,攻击者通过把SQL命令插入到Web表单提交或输入框后面,盗取数据库信息,甚至控制数据库服务器。解决SQL注入的方法如下: 1、使用参数化查询: 参数化查询是一种预编译查询,该查询将参数和SQL语句分开,从而允许程序将参数值与SQL语句

    2023年04月09日
    浏览(41)
  • 【已解决】:java.sql.SQLException 问题

    今天做项目开发的时候,发现了这个Bug,话不多说,直接定位Bug原理+解决! 发现好问题的报错后,就可以解决了。 Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。 使用哪一个方法由 SQL 语句所产生的内容决定。 方法executeQuery 用于产生单个结果

    2023年04月25日
    浏览(48)
  • Springboot+JdbcTemplate模拟SQL注入攻击案例及解决方法

    SQL注入是软件开发项目测试过程中必测项,重要等级极高。本文以springboot项目为例,模拟含有SQL注入攻击,并提供解决方法。部分内容整理自网络。 pom.xml application.yml 实体类 DAO接口实现类 service接口实现 controller 可以看到明明只查admin,拼接后返回了所有用户信息, 造成用

    2024年02月16日
    浏览(39)
  • SQL Server 数据库出现可疑标记的解决方法

    SQL Server 数据库在运行过程中,有时可能会出现被标记为可疑的情况。这可能是由于数据库发生了错误或不一致的状态,需要采取相应的措施来解决这个问题。本文将介绍一些常见的解决方法,并提供相应的源代码示例。 解决方法一:运行 DBCC CHECKDB 命令 DBCC CHECKDB 是 SQL Ser

    2024年02月03日
    浏览(52)
  • SQL Server数据库连接失败错误及解决方法

    在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又

    2024年02月15日
    浏览(71)
  • java.sql.SQLIntegrityConstraintViolationException 异常解决

    在Java Web项目操作数据库添加数据的时候,运行时出现如下异常: java.sql.SQLIntegrityConstraintViolationException: 原因在于违反了数据库的唯一约束条件,即也插入数据时,具有唯一约束条件的列值重复了。 方法1:插入的数据不要与数据库中存在的数据重复 方法2:取消唯一性约束

    2024年02月03日
    浏览(34)
  • 【出现“SQL dialect is not configured.“的解决方法】

    在写python操作MySQL时,前面的查询都很顺利,但到插入时,出现\\\"SQL dialect is not configured.\\\"表明这个SQL方言没有被配置 (这个方法Pycharm和IDEA都使用) 解决方法:找到Settings设置   在里面按照图片步骤找到LanguagesFrameworks下面的SQL Diaiects  将下面这两个改为MySQL(选择你程序中所

    2024年02月04日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包