因为该案例比较典型,所以记录一下,恐后期有所疑问,以便用时便于会议。
案例典型在 关联关系典型
主表一张业务模板表
TABLE_NAME COLUMN_NAME COMMENTS
YMIT_BIZ_TMP PK_ID 自增主键
YMIT_BIZ_TMP BIZ_TMP_NM 业务模板名称
YMIT_BIZ_TMP TRD_INF_ID 交易接口ID,与接口用例树关联
YMIT_BIZ_TMP TRD_INF_NM 交易接口名称
YMIT_BIZ_TMP CRT_USR_ID LOGINCODE
YMIT_BIZ_TMP CRT_TM 创建时间
关系表一张关联关系表
TABLE_NAME COLUMN_NAME COMMENTS
YMIT_BIZTMP_FLD TEMP_ID 业务模板信息表的PK_ID
YMIT_BIZTMP_FLD MSG_ID BSP对应报文ID
YMIT_BIZTMP_FLD FLD_ID 公共报文字段ID
关联数据表一张 报文字段表
TABLE_NAME COLUMN_NAME COMMENTS
YMIT_MSG_FLD PK_ID 字段ID,自增主键
YMIT_MSG_FLD MSG_ID 关联报文,对应报文的NODE_ID值
YMIT_MSG_FLD FLD_NM 报文字段名称
YMIT_MSG_FLD FLD_DESC 字段描述
YMIT_MSG_FLD FLD_LEN 数据长度
YMIT_MSG_FLD IS_REQ 是否必填,1为是,0为否
YMIT_MSG_FLD DEF_VAL 默认值
YMIT_MSG_FLD FIX_VAL 修订值
一次查询,返回主表模板信息加上模板关联的所有字段信息
一 定义接手domain
public class YmitBizTmpVM {
private String pkId ;// 自增主键
private String bizTmpNm ;// 业务模板名称
private String trdInfId ;// 交易接口ID,与接口用例树关联
private String trdInfNm ;// 交易接口名称
private String crtUsrId ;// LOGINCODE
private String crtTm ;// 创建时间
private String msgId ;// 报文结构树上选择点的pkId
private List ymitMsgFld; //通讯类型对应的参数
二 编写resultmap
详细解释: id :resultmap的标识 select语句中引用时用的,
type: 查询返回的数据类型
collection :说明这是一个一对多的关系,多就放在这里
collection中的property是接收domain中的那个多的的属性名字 javatype是多的类型
collection中的其他的和上边的一样了。
三 书写SQL
详细介绍:
因为两张表的有重名的,所以呢,在查询的时候呢,将其中的一个用as给起个暂时名字,然后对应到resultmap中的那个,
曲线救国。
然后就没有然后了。
resultmap作为mybatis中最常用最灵活最难得家伙,这样就可以用起来了。