Ibatis错误 The error happened while setting a property on the result object解决方法

部署运行你感兴趣的模型镜像

今天遇到了一个问题,用Ibatis查询时,总是出现这个错误。对于异常信息,又没有明确指出是哪一个result属性出错。然后我用了最笨的方法,一行行的排除,终于在将<result property="paymentCash" column="PAYMENT_CASH"/>去掉后这个错误没有出现了。然后,我仔细看了数据库,这个字段是nullable的,然后数据有多条记录这个字段的值是空的,但是并不是null。然后我将<result property="paycash" column="PAYMENT_CASH" nullValue="0"/> 问题完全解决。

 

org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0];   
--- The error occurred in com/tongcard/tcc/report/ibatis/consumeReport_SqlMap.xml.  
--- The error occurred while applying a result map.  
--- Check the ConsumeReport_Map.consumeDetailsMap.  
--- The error happened while setting a property on the result object.  
--- Cause: net.sf.cglib.beans.BulkBeanException; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in com/tongcard/tcc/report/ibatis/consumeReport_SqlMap.xml.  
--- The error occurred while applying a result map.  
--- Check the ConsumeReport_Map.consumeDetailsMap.  
--- The error happened while setting a property on the result object.  
--- Cause: net.sf.cglib.beans.BulkBeanException

 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

当MyBatis查询数据库时出现`org.apache.ibatis.exceptions.PersistenceException`,且原因是`java.sql.SQLException: Error setting driver on UnpooledDataSource`,通常是由于驱动类未找到或配置错误导致的。以下是一些可能的解决方法: ### 检查驱动依赖 确保项目中已经正确添加了数据库驱动的依赖。以Maven为例,如果使用的是MySQL数据库,需要在`pom.xml`文件中添加以下依赖: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> ``` ### 检查配置文件 确认MyBatis配置文件或Spring配置文件中数据库驱动的配置是否正确。例如,在MyBatis的`mybatis-config.xml`文件中: ```xml <dataSource type="UNPOOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/your_database"/> <property name="username" value="your_username"/> <property name="password" value="your_password"/> </dataSource> ``` 要确保`driver`属性的值与所使用的数据库驱动类名一致。 ### 检查属性占位符 如果使用了属性占位符(如`${jdbc.driver}`),要确保这些占位符在属性文件中已经正确配置,并且属性文件被正确加载。例如,在`mybatis-config.xml`中使用占位符: ```xml <dataSource type="UNPOOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> ``` 则需要在`properties`文件中配置相应的属性: ```properties jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/your_database jdbc.username=your_username jdbc.password=your_password ``` ### 检查类路径 确保数据库驱动的JAR文件已经正确添加到项目的类路径中。如果是使用IDE开发,检查项目的构建路径或依赖配置;如果是手动部署,确保JAR文件在正确的目录下。 ### 检查Mapper文件 虽然错误可能指向Mapper文件,但该错误通常与驱动配置有关。不过,还是要确保`mybatis/EmployeeMapper.xml`文件中SQL语句的正确性,特别是`com.dao.EmployeeDao.getEmployeeById`方法对应的SQL语句。 ### 示例代码 以下是一个简单的MyBatis配置示例: ```xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties resource="db.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="UNPOOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mybatis/EmployeeMapper.xml"/> </mappers> </configuration> ``` `db.properties`文件内容: ```properties jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/your_database jdbc.username=your_username jdbc.password=your_password ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值