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

来源:互联网 发布:unity3d最全资源合集 编辑:程序博客网 时间:2024/06/05 04:14
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(实体属性字段)


原创粉丝点击