ZSJC1 和ZSJC2 是一对多关系 @Data @TableName("zsj_c1") public class ZSJC1 { private int id; private String name; @TableField(exist = false) private List<ZSJC2> zsjc2s; }
@Data @TableName("zsj_c2") public class ZSJC2 { private int id; private String name; private String type; private int c1Id; }
ZSJC1 实体类id,name与ZSJC1实体类id,name字段一样,ZSJC1 与ZSJC1关系是一对多关联,如果在mybatis不使用别名的话,mybatis是识别不了的,查询出来的结果是混乱的
使用别名的查询如下 :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/"> <mapper namespace=""> <resultMap type=".ZSJC1"> <id column="id" property="id"/> <result column="name" property="name"/> <collection property="zsjc2s" ofType=".ZSJC2"> <id column="cid" property="id" /> <result column="cname" property="name" /> <result column="type" property="type"/> <result column="c1Id" property="c1Id" /> </collection> </resultMap> <select resultMap="BaseMap"> SELECT ,, AS cid, AS cname,,b.c1_id AS c1Id FROM zsj_c1 a LEFT JOIN zsj_c2 b ON =b.c1_id WHERE =1 </select> </mapper>