Mybatis报错:There is no getter for property named ‘xxx‘ in ‘class xxx 的解决办法

一、报错问题

用的是lombok的@Data生成Getter、Setter,但是由于数据库名称和后端实体类不对应,搜索不到。如数据库名称”stu_id“,后端实体类的"stuId"。

二、尝试的解决办法

1、@JsonPropery、@Data、@Getter、@Setter

@Data
@Getter
@Setter
public class StuInfo {
    @ExcelProperty(value="学号")
    @JsonProperty("stu_id")
    private String stuId;
}

2、<resultMap></resultMap>可以解决对应问题

    <resultMap id="AdminMap" type="com.lhm.demo.entity.StuInfo">
        <result property="stuId" column="stu_id"/>
        <result property="stuType" column="stu_type"/>
        <result property="gpaScore" column="gpa_score"/>
        <result property="sumScore" column="summary_score"/>
        <result property="volScore" column="volunteer_score"/>
        <result property="servScore" column="service_score"/>
        <result property="pracScore" column="practice_score"/>
        <result property="addScore" column="added_score"/>
        <result property="addScore" column="added_score"/>
        <result property="researchScore" column="research_score"/>
    </resultMap>

加在mapper.xml的<mapper>标签内。

3、修改数据库语句【本人的问题】

 <insert id = "insertStuInfo" parameterType="com.lhm.demo.entity.StuInfo">
        INSERT INTO stuinfo (stu_id,name,gender,phone,email,year,academy,politic,stu_type,major,gpa_score,summary_score,volunteer_score,research_score,
                             service_score,practice_score,added_score) VALUES(#{stuId},#{name},#{gender},#{phone},#{email},#{year},#{academy},#{politic},#{stuType},
                             #{major},#{gpaScore},#{sumScore},#{volScore},#{researchScore},#{servScore},#{pracScore},#{addScore});
    </insert>

#{stu_id}是错误的,#{stuId}是对的,这个#{}内要写的是后端实体类的名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

花花橙子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值