Java开发五大/十大常见问题的建议
1.不要在实体类使用IDEA或其他方式手写get/set方法,而应使用Lombok 的@Data 注解来自动在每次编译时自动生成相关代码
这主要是为了防止你在使用mybatis 等ORM框架时出现实体类字段的get/set 方法无法与mybatis 框架所"自然调用"的不同名导致当mybatis 想将查询出的结果设置到实体类时无法找到相应get/set 方法从而无法设置值的问题。(即:实体类字段部分或全部未自动被设置值的问题)
比如以下就是因为Java映射的实体类中的属性不是全小写的(我这边库里Oracle 的表字段为全大写,个别自段带'_'下划线)导致mybatis 在自动将数据库字段名转换后仍找不到对应字段:
public class UserClass {
private String iduser; // 该属性可被mybatis 自动对应到数据表中的IDUSER或ID_USER字段上
private String idName; // 该属性不能被自动对应到字段IDNAME或ID_NAME上,你必须在SQL查询中指定别名,因为该属性名的N是大写的,mybatis 不会自动做转换。解决方法要不改此处的属性名idName为idname,要不在select 语句中使用别名:as idName
}