在实际项目中会经常用到一对多、多对多的关联关系,比单表的查询要稍微复杂一些。以下是使用样例,供参考。(相关注解请使用IDEA的Ctrl+Enter快捷键补充导入)
mybatis一对多关联
关键词:“association”
样例说明
asset表 —> location表
一个资产一定放在某一个位置,但同一个位置可以有多个资产。是一对多的关系,asset表中有一个外键,指向location表的tId。
实体
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AssetMain {
@JsonProperty("tId")
private Integer tId;
private Integer locationId;
private String assetName;
private String assetNumber;
private String note;
private AssetLocationTree assetLocation;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AssetLocationTree {
/** 序号 */
@JsonProperty("tId")
private Integer tId ;
/** 父节点id */
private Integer parentId ;
/** 类型 */
private String type ;
/** 完整名称 */
private String fullName ;
}
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jx.uam.mapper.AssetMainMapper">
<resultMap type="com.jx.uam.entity.AssetMain" id="TAssetMainMap">
<result property="tId" column="t_id"