springBoot整合myBatis错误:java.lang.NoSuchMethodException

本文介绍了解决 Mybatis 中出现 java.lang.NoSuchMethodException 错误的方法,包括正确配置实体类 SysStaffdef 并确保 XML 映射文件中的字段与数据库字段正确对应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.lang.NoSuchMethodException: com.jssz.model.SysStaffdef.<init>(java.math.BigDecimal, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.math.BigDecimal, java.util.Date···

错误代码如上所示:
错误原因:
①在Mybatis的配置文件中用到实体类SysStaffdef,因为没有配置或引入这个实体类,导致报错
②关于XXXMpper.xml文件中的实体字段对应关系混乱,导致框架无法正确对应字段值
解决办法:

①在Mybatis的配置文件加入如下配置:

<typeAliases>
        <typeAliastype="com.jssz.model.SysStaffdef"alias="SysStaffdef"/>
        <typeAliasalias="Integer" type="java.lang.Integer" />
        <typeAliasalias="Long" type="java.lang.Long" />
        <typeAlias alias="HashMap"type="java.util.HashMap" />
        <typeAliasalias="LinkedHashMap" type="java.util.LinkedHashMap"/>
        <typeAliasalias="ArrayList" type="java.util.ArrayList"/>
        <typeAliasalias="LinkedList" type="java.util.LinkedList"/>
    </typeAliases>
备注:也可以直接引入实体类包:<package name="com.jssz.model"/>

②在实体的XXXMapper.xml文件中对应好每一个数据库字段和实体字段值,只要为property属性值。部分xml示例如下:

<mapper namespace="com.jssz.dao.SysStaffdefMapper">
    <resultMap id="BaseResultMap" type="com.jssz.model.SysStaffdef">
        <id column="ST_ID" property="stId" jdbcType="DECIMAL" javaType="java.math.BigDecimal"/>
        <result column="ST_NAME" property="stName" jdbcType="VARCHAR" javaType="java.lang.String"/>
        <result column="ST_LOGINNAME" property="stLoginname" jdbcType="VARCHAR" javaType="java.lang.String"/>
其中需要注意的属性字段为:type,column(数据库字段),property(实体属性字段)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值