Mybatis映射问题

Mybatis映射问题

xml 文件中#{}内填的应该是 POJO 的属性名,如果数据库表中的列名是下划线格式,而实体的属性名是驼峰形式,那么需要开启驼峰映射或者在 Map 中指定映射关系。

<mapper namespace="com.alibaba.cbu.ai.backend.biz.tddl.mapper.AiBotInstanceDeployResultMapper">

<resultMap type="xxx.xxx.xxx.xxxDO"  //完整引用
<result column="id" property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>

对象字段的第二个字母大写导致请求/接收数据库数据报错
@Data
public class A{
private Long uId;
}
1
2
3
4
对于像uId,pId类似的字段,当使用@Data注解时,自动生成的setter,getter方法为getUId。

public Long getUId(){
return uId;
}
————————————————

而在javaBean规范中,如果属性名的第二个字母大写,那么该属性名直接用作 getter/setter 方法中 get/set 的后部分,就是说大小写不变。例如属性名为uName,方法是getuName/setuName。
所以遇到第二个字母大写的字段一定要重写getter,setter方法。
———————————————

@Data
public class A{
	private Long uId;
	public Long getuId(){
    	return uId;
	}
    public void setuId(Long uId){
        this.uId=uId;
    }
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注