您的位置:首页 > 其它

Mybatis 结果映射 常用的情况

2018-02-26 16:26 162 查看
当多表联查的情况分析
1.resultMap
a:直接写 resultType="java.util.HashMap" 简单直接 一般推荐使用
  <select id="findTownList" resultType="java.util.HashMap">
        SELECT townid AS "TOWNID",townname FROM town WHERE id = #{id}  </select>
b. resultMap="TownMap2" 正规写法
    <select id="findTownList2" resultMap="TownMap2">
SELECT townid,townname FROM town WHERE id = #{id}  </select>
 
    <resultMap type="Town" id="TownMap2">
//在中间可以写映射,可以更换名字
 
</resultMap>
 
优点:不用创建实体类
缺点:没有pojo类没有对应关系
2.resultType
  <select id="findapplicationid" parameterType="String" resultType="kapplication">
 分为两种情况:
a:利用组合  缺点是:
public class User implements Serializable {
      private static final long serialVersionUID = 1L;
    private  Integer  id;
    @NotEmpty(message="id名字不能为空")
    private String userName;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate birthday;
    private String sex;
    private String address;
    private User1 user1;
}@Results(id="user1",value={

      @Result( property= "user1.id", column = "id", javaType = Integer.class),

      @Result( property= "user1.birthday",column = "birthday", javaType = LocalDate.class),
      @Result( property= "user1.sex", column = "sex", javaType = String.class),
      @Result(property = "user1.address", column = "address", javaType = String.class),

})
 
B:利用继承 常用简单
public class User1 extends User{  }

POJO类与数据库表一一对应,尽量不要修改
3.从新建一个POJO类,从别的几个POJO类拷贝过来,生成新的,实际工作中也有这样用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: