解决了困扰几天的问题---java.sql.SQLException: Cannot set uid: incompatible types. Query: select * from orders

关于dbutils执行query函数查询datetime类型出错,无法转换为date类型 关于dbutils执行query函数查询datetime类型出错,无法转换为date类型 在Spring,SpringMVC,中使用dbutils查询数据库,发生了数据类型转换错误。 java.sql.SQLException: Cannot set created: incompatible types, cannot convert java.time.LocalDateTime to java.util.Date Query: select id,name,product_id,parts_id,ic 阅读详情

      最近在学着做一个jsp+servlet的商城项目,在做的过程中使用到了一个Order实体类用于对应我数据库中的orders表,可是在查询正确的情况下报了这个错误 java.sql.SQLException: Cannot set uid: incompatible types. Query: select * from orders where uid = ? Parameters: [f164918b-ffda-4baf-809a-158203477228],思考了很久一直无法解决,Order实体类如下:


 

public class Order {
	private String oid;
	private String ordertime;
	private double total;
	private int state;
	private String address;
	
	private String name;
	private String telephone;
	private User uid;
	
	List<OrderItem> orderItems = new ArrayList<OrderItem>();
        ---get、set方法-----


以下是我的orders表


以下是我的dao查询语句

public List<Order> findAllOrders(String uid)  {
		// 订单查询
		 QueryRunner runner = new QueryRunner(JDBCUtils_V3.getDataSource());
		String sql = "select * from orders where uid = ?";
		List<Order> query = null;
		try {
			query = runner.query(sql, new BeanListHandler<Order>(Order.class),uid);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return query;
	}

写完之后,我尝试着跑了起来,出现以下错误

java.sql.SQLException: Cannot set uid: incompatible types. Query: select * from orders where uid = ? Parameters: [f164918b-ffda-4baf-809a-158203477228]
	at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:320)
	at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:349)
	at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:287)
	at com.iteason.dao.ProductDao.findAllOrders(ProductDao.java:108)
	at com.iteason.service.ProductService.findAllOrders(ProductService.java:107)
	at com.iteason.web.servlet.MyOrdersServlet.doGet(MyOrdersServlet.java:39)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

很明显的错误,我把它给圈红了,提示的是uid这个类型出错,无法把查询的结果存储在BeanListHandler结果集里,接下来我又进行了调试,一开始我以为我的uid是无效的,orders表里找不到数据,所以我在orders表里c了一个uid去作为参数,还是一样的结果,那么说明我的查询是有结果的,是封不进结果集的原因,封装类型出错。


我回忆起前几天写过的Product实体类,里面也有封装着一个Category实体类,如图

public class Product {
	private String pid;
	private String pname;
	private double market_price;
	private double shop_price;
	private String pimage;
	private String pdate;
	private int is_hot;
	private String pdesc;
	private int pflag;
	private Category category;
        --------get、set方法-----

我将dao层用于查询List<Product>的字段进行打印

                                                                                       

public List<Product> getProductByCategory(String cid, int index, int currentCount) throws SQLException {
		// 获得分页的数据
		QueryRunner runner = new QueryRunner(JDBCUtils_V3.getDataSource());
		String sql = "select * from product where cid = ? limit ?,?";
		List<Product> list = runner.query(sql, new BeanListHandler<Product>(Product.class),cid,index,currentCount);
		for(Product product:list){
			System.out.println(product.getCategory());
		}
		return list;
	}

运行结果如图所示


这说明我从数据库查询到的数据也并没有完全封装到Product实体类中,因为数据库中查出来的category字段是varchar类型的,而Product实体类中的private Category category类型的,所以打印这个Product类中的category,结果都是null,无法封装,但是在正常情况下不会报错,而是不封装这个部分。


所以接下来我的解决方法是,在Order实体类中将private User uid改成private User user,多添加一行private String uid(对应名称封装的原则),顺利完成了封装查询,不报错!

问题虽然解决了,可是我还是不知道为什么在查询List<Order>时会报类型错误,而查询List<Product>时不报错误,希望知道其中缘由的大佬告诉我一声啊! 第一次写博客,写得不好,大家海涵(有人看的话!)


2D激光slam数据集的下载与测试 参考博客: https://blog.csdn.net/qq_24894159/article/details/81265991 https://blog.csdn.net/fk1174/article/details/52673413#commentBox 数据集下载与生成 下载数据集 下载网址: http://ais.informatik.uni-freiburg.de/slamevaluation/datasets.php 进去网站后点你想下载的对应的"download log file" 然后你 阅读详情

相关推荐

SAP BASIS运维之三方SSL证书导入

事情的起因是我司SAP使用的SSL证书即将要到期了(上一个的SAP BASIS也辞职了),需要进行证书的更换。如上图所示,我司的证书有效期到2024年4月30日到期,需要提前预防并更换,防止过期后导致接口和访问出现问题。9.在弹出的框中,选择我们在第5个步骤中导出的转换结果存储地址,并选择导出的转换文件,点打开。12.最后一步也是关键的一步,不然就会无法更新证书,再点击左上角的个人安全环境,点另存为。10.在打开后的弹窗中,输入我们在第4个步骤中设置的密码。6.经过以上步骤后,我们获得了最终的证书文件。

fegda的专栏 1885

dbutils中queryRunner.query的注意事项

报错信息如下: 信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false...

liulianzi_147的博客 1440

D类功放LC滤波器实战:从Q值0.707到EMI优化的完整设计流程

本文详细解析了D类功放LC滤波器的完整设计流程,从确定截止频率与Q值0.707的理论基础出发,到参数计算、仿真验证及关键元器件选型,并提供了应对EMI超标和过流保护等实际问题的进阶调试策略。文章强调,精准的LC滤波器设计是平衡音质、稳定性与电磁兼容性的关键,尤其需关注电感饱和电流与电容直流偏置等细节。

e4f5g6h7的博客 1038

java.sql.SQLException: Cannot set createTime: incompatible types

java.sql.SQLException: Cannot set createTime: incompatible types

weixin_51187775的博客 4135

基于IP2369与STM32的45W双向PD移动电源设计

USB PD(Power Delivery)是一种面向高功率、智能协商的通用快充协议,其核心在于通过BMC编码在CC线上完成供电能力(PDO)动态匹配与电压/电流精准调控。IP2369作为高度集成的PD协议管理芯片,内置PHY、协议引擎与MOSFET驱动,可卸载MCU实时通信压力;而STM32F103系列凭借低功耗STOP模式与丰富外设,成为电源状态管理与用户交互的理想协处理器。该组合显著提升系统鲁棒性与能效比,适用于便携式移动电源、嵌入式备用电源及PD协议教学验证等场景。本文围绕IP2369配置电阻精度、

weixin_42608299的博客 519

5分钟搞定三网话费余额查询:手把手教你用PHP+HTML搭建查询系统(含API调用避坑指南)

本文详细介绍了如何使用PHP+HTML快速搭建三网话费余额查询系统,涵盖API调用避坑指南、前端UI设计及性能优化。通过统一处理移动、电信、联通三大运营商接口差异,实现高可用查询功能,并提供安全防护与生产部署建议,帮助开发者高效构建稳定可靠的话费查询工具。

weixin_29016833的博客 259

check the manual that corresponds to your MySQL server version for the right syntax to use nea异常解决方法

java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-4,4' at line 1 Query: select id,title,aut...

Joker的博客 1302

SAP Event Mesh 简介

Get Started with Messaging for Decoupled Communication Step 1: What is the SAP Event Mesh service? SAP Event Mesh 是一种完全托管的服务,用于连接应用程序、服务和系统,以便它们可以通过消息和事件相互交互。 它通过引入中央消息代理取代了传统的点对点通信。 虽然点对点通信适用于在有限数量的发送方和接收方之间共享数据,但可扩展性很快就会成为一个问题。 SAP Event Mesh 解决了这个问题,并确保

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1244

数据库查询报错无法创建有效参数 Cannot create Parameters

出现这个报错是因为在User中通常没有添加无参构造函数,只需要在User中添加上 public User() { }就可以解决。 package com.example.Javaweb.pojo; public class User { private Integer id; private String username; private String password; private String email; public Integer getI

u013557343的博客 1501

GPU服务器维修全流程:从检测到解锁

《GPU服务器维修维保全流程指南》摘要:本文系统介绍GPU服务器从检测到解锁的完整维修流程。检测环节包含物理检查(氧化层、散热、PCB板)和电子诊断(ECC报错率、电源波动等);核心维修技术涵盖PCB板修复(微孔镀铜、BGA返修)和芯片级维修(成功率78-92%);解锁验证阶段包括性能解锁(VBIOS重写)和72小时稳定性测试。文末提供故障速查表及维保建议,强调定期除尘可降低38%故障率,推荐环境粉尘浓度控制在≤0.3mg/m³。

2401_89353317的博客 891

卫星姿态控制的隐形力量:为何必须计算每一个旋转部件的角动量

在静谧的太空中,一颗对地观测卫星正将高清相机精准地对准地面目标。与此同时,它内部的动量轮在飞速旋转,太阳能帆板在缓慢转向以追踪太阳,甚至某个科学载荷的制冷机也在高频运转。你是否曾想过,卫星是如何在这些内部“小宇宙”的运动中,保持自身姿态极致的稳定与精确的

ScilogyHunter的博客 971

Cannot create Parameters: [] 异常原因和解决方法

今天使用前段时间写的BaseDao时发现一个异常,信息如下,原因是我写的Bean有问题,默认的被我给覆盖了,必须要有public Forum(){}构造器。 java.sql.SQLException: Cannot create com.match.test.Forum: com.match.test.Forum Query: select * from forum Parameter

亓根火柴的专栏 2320

基于八叉树的k近邻搜索

在八叉树中,每个节点都表示一个正方体的体积元素(体素),并且每个节点都有八个子节点(在不为空的情况下)。搜索最近邻点:一旦确定了查询点在八叉树中的位置,就可以开始搜索最近邻点了。搜索过程通常从查询点所在的叶节点开始,并逐步扩展到相邻的叶节点和父节点,直到找到k个最近邻点为止。k近邻搜索的目标是在给定的点云数据中,找到一个查询点的k个最近邻点。定位查询点:在搜索过程中,首先需要确定查询点在八叉树中的位置。返回结果:最后,搜索算法会返回找到的k个最近邻点的索引和它们与查询点之间的距离。

twnkie的博客 674

java.sql.SQLException: Cannot set datetime:

Java Web 网上蛋糕商城 订单界面不显示订单详情

m0_55810934的博客 2261

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Caused by: java.sql.SQLException: Cannot set updateDate: incompatible types. Query: select `room_id`

把数据库的字段改成Timestamp类型。这两种类型不能相互转换。

qq_62736318的博客 353

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

使用DBUtils报错connot create bean 错误解决的办法

public class c3p0_connection { public static void main(String[] args) throws Exception { ComboPooledDataSource source = new ComboPooledDataSource();//创建对象 String sql="select * from ...

qq_42085534的博客 1171

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

记一个mysql时间插入错误Data truncation: Incorrect datetime value:

at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:320) at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:489) at org.apache.commons.dbutils.Que...

wssc63262的博客 2422

Cannot set status: incompatible types, cannot convert java.lang.String to int Query:

错误提示完整为 java.sql.SQLException: Cannot set status: incompatible types, cannot convert java.lang.String to int Query: SELECT * FROM T_USER WHERE USERNAME = 111 AND PASSWORD=11 Parameters: [] >我一直把注意放到select语句上的name和passwrord上,始终没有找出错误,今天偶然发现是status类型错误。.

BlupleZara的博客 2892

java.sql.SQLException: Cannot set cid: incompatible types. Query: select * from category Parameters:

数据库查询出数据类型和实体类字段定义类型不匹配。 java.sql.SQLException: Cannot set cid: incompatible types. Query: select * from category Parameters: [] 查询语句 package com.yang1.Dao.impl; import java.util.List;

AbcdeFFFPPPP的博客 3663

【已解决】:java.sql.SQLException 问题

【已完美解决】:java.sql.SQLException 问题

努力才是唯一的入场券。 4万+

java.sql.SQLException: Cannot set cid: incompatible types. Query: select * from category Parameters

叮叮~~~~~我来解决自己的问题了,头痛一下午时间!!!!!! java.sql.SQLException: Cannot set cid: incompatible types. Query: select * from category Parameters: 在这里我要实现的是,把数据库中的内容,在jsp的页面中显示出来,这里报错!!!! 上网搜索了好多种,都没有解决。。 经过检测,最后发现...

m0_44954707的博客 1412

java.sql.SQLException: Cannot set birthday: incompatible types.

首先 incompatible types. 是不兼容的类型。 1.经检查数据库中的birthday 2.javaBean中 的birthday 类型不一致导致错误 修改数据库中的birthday为date类型, 保证数据库表中数据与javabean中实体类的数据必须一致! ...

码放南山 3664

java. sq1. SQLException: Cannot set goods: incompatible types. Query: select gk from message Paramet

java. sq1. SQLException: Cannot set goods: incompatible types. Query: select gk from message Parameters:[] at org. apache. commons. dbutils. AbstractQuer yRunner. rethr ow (AbstractQueryRunner. java:320) at org. apache. commons. dbutils. QueryRunner. quer.

m0_46566023的博客 661

java.sql.SQLException: Cannot create错误

本来用德鲁伊能正常的从数据库查询数据,但就修改了compeonumtab这个实体,给它添加了一个有参构造器,就报错了。在compeonumtab这个类中,添加一个无参构造器就可以了!在没有添加有参构造器时,默认有一个无参构造器。

m0_63246205的博客 819

处理DBUtils报错——java.sql.SQLException: 不支持的特性

最近想在项目中使用commons-dbutils-1.6这个包的DBUtils做一个通用的数据库工具类,但是最后在测试的时候报了这样一个错: java.sql.SQLException: 不支持的特性 Query: 经过DEBUG,发现错误出在commons-dbutils-1.6包里面QueryRunner类中一个query方法中的getParameterMetaData()语句

Revil7的博客 6319

Caused by: java.sql.SQLException: 无效的列类型

出现此异常可能的情况 1 传值的时候没有设置类型 书写sql的时候 记得设置jdbcType 2在XML文件里加注释不可以加入/**/的注释 这种注释加在xml无效,mybatis在读取xml文件的时候,仍然可以读取到注释之内的语句 解决办法 改成xml风格的注释,mybatis就不会读取到注释之内的内容了。 尽量不在标签内部写注释,放在标签外部写 ...

Jliangmu的博客 1214
下一篇: hibernate之helloworld
BoringRong
BoringRong 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 2万+粉丝 386原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值