Spring Boot + Mybatis 注解模式 读库并映射到实体类对象 的两种方式
如果实体类属性名称和数据库字段一样,在@Select标注的方法上面可以不加@Results标注,来指定读库返回结果,对应到实体类对象的各个字段,
如,
数据库表user,字段user_name,user_age
则以下两种方式都可以:
- 实体类属性名称和数据库字段一样
实体类User.java
public class User {
private String user_name,
private String user_age,
}
Mapper类里读就可以直接这样写了,当然也可以@Results标注
@Mapper
public interface UserMapper {
@Select("select * from user")
List<User> getAllUsers();
}
- 实体类属性名称和数据库字段不一样
实体类User.java
public class User {
private String userName,
private String userAge,
}
Mapper类必须加上@Results
@Mapper
public interface UserMapper {
@Select("select * from user")
@Results({
@Result(property = "userName", column = "user_name"),
@Result(property = "userAge", column = "user_age")
})
List<User> getAllUsers();
}