eg:实体类属性是如下形式
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Integer userId;
private String userName;
private Date userBirthday;
private String userSex;
private String userAddress;
}
数据库字段是这样的
方案一:取别名
给select语句中取别名,该方案查询效率较高,但实际开发中这样的语句会显得很冗余,所以建议数据库与实体类字段建议一致,省去很多复杂操作!
select id as userId,username as userName,birthday as userBirthday,sex as userSex,address as userAddress from user
方案二:resultMap
<resultMap id="user" type="com.lp.domain.User">
<id property="userId" column="id"/>
<result property="userName" column="username"/>
<result property="userBirthday" column="birthday"/>
<result property="userSex" column="sex"/>
<result property="userAddress" column="address"/>
</resultMap>
<select id="findAll" resultType="com.lp.domain.User" resultMap="user">
<!--select id as userId,username as userName,birthday as userBirthday,sex as userSex,address as userAddress from user ; -->
select * from user ;
</select>
该方案依然成立,但是会影响执行效率!