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;
}
}