Java Mybati不使用布尔映射
我只是想用Mybatis映射一个布尔值,但我遇到了一个问题。首先,我将向您展示所涉及的部分:Java Mybati不使用布尔映射,java,jakarta-ee,persistence,mybatis,mybatis-generator,Java,Jakarta Ee,Persistence,Mybatis,Mybatis Generator,我只是想用Mybatis映射一个布尔值,但我遇到了一个问题。首先,我将向您展示所涉及的部分: XML File: <resultMap id="destinationTypeMap" type="DestinationTypeDTO"> <result property="destinationTypeId" column="education_destination_type_id" javaType="java.lang.Long" jdbcType="N
XML File:
<resultMap id="destinationTypeMap" type="DestinationTypeDTO">
<result property="destinationTypeId" column="education_destination_type_id" javaType="java.lang.Long" jdbcType="NUMERIC"/>
<result property="description" column="description" javaType="java.lang.String" jdbcType="VARCHAR"/>
<result property="available" column="is_available" javaType="boolean" jdbcType="VARCHAR" typeHandler="BooleanHandler"/>
</resultMap>
但是,我得到了以下错误日志:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property 'isAvailable' of '....DestinationTypeDTO@bbd76bf' with value 'true' Cause: org.apache.ibatis.reflection.ReflectionException: There is no setter for property named 'isAvailable' in 'class ....DestinationTypeDTO'
我花了几个小时试图找出发生了什么,但没有成功。有什么提示吗
谢谢大家。将javaType=“boolean”
更改为java.lang.boolean
并指定property=“available”
更改您的setter,ibatis希望布尔名称的标准格式为pojo:-
public void setIsAvailable(boolean available) {
this.available = available;
}
您的数据库列名为“is_available”,属性名为“available”,这就是映射不起作用的原因,您有两种解决方案:
\u boolean
映射到boolean
,boolean
映射到java.lang.boolean
文档:谢谢您的提示,但仍然不是工作伙伴。还有其他建议吗?事实上,boolean会像java将其视为primitve类型一样工作。它不起作用,请注意属性以前已经“可用”。@stackpepe您现在可以试试吗?嗨,伙计,您的解决方案是对的,问题是我没有重新启动Weblogic,所以xml文件没有被重新加载。谢谢!我做了,但还是不工作。我仍然收到以下消息:org.mybatis.spring.MyBatisSystemException:嵌套异常为org.apache.ibatis.reflection.ReflectionException:无法设置'uk.co.corelogic.mosaic.dto.education'的属性'isAvailable'。DestinationTypeDTO@bbd76bf'的值为'true'原因:org.apache.ibatis.reflection.ReflectionException:没有用于“class uk.co.corelogic.mosaic.dto.education.DestinationTypeDTO”中名为“isAvailable”的属性
<result property="available" column="is_available" property="available" javaType="java.lang.Boolean" jdbcType="VARCHAR" typeHandler="BooleanHandler"/>
public void setIsAvailable(Boolean available) {
this.available = available;
}
public Boolean getIsAvailable() {
return available;
}
public void setIsAvailable(boolean available) {
this.available = available;
}
javaType="_boolean"
javaType="boolean"