在使用mybatis时发现,mybatis能自动匹配实体名和数据库字段名相同的字段。当有实体名与数据库的字段名不同时该如何解决??
数据库的表对应的列名: springboot项目中建的实体类为:
public class MapModel { private Long key; private String value; //省略getter、setter方法 }给查询字段另起名对应实体类的名称:
@Select("SELECT province_id as key , province_name as value FROM `j_position`") public List<MapModel> provinceName();使用@Results、@Result、@ResultMap注解:
@Select("SELECT province_id, province_name FROM `j_position`") @Results(id="resultMap1" ,value = { @Result(property = "key",column = "province_id"), @Result(property = "value",column ="province_name") }) public List<MapModel> provinceName();其中定义的id="resultMap1"可以使用
@ResultMap("resultMap1) @Select("SELECT province_id, province_name FROM `j_position` where province_name=#{name}") public List<MapModel> provinceName(String name);推荐使用方法二!