我有2个表,表1有一个自动生成的ID列。我有这个Id作为表2的外键,我使用mybatis将数据插入表中。我陷入了需要动态发送外键以插入命令的地步。
表1
CLM_ID (PK) AUTO GENERATED
CLM_VALUE NN UNIQUE
表2
CLM_ID (FK)
CML_VALUE1 (NN)
CML_VALUE2 (NN)
CML_VALUE3 (NN)
根据请求,我将数据存储到表1中,其中ID是自动生成的。当我试图将数据存储在表2中时,如何获得{ID}
如果我知道相应列的值,我可以获得与该列关联的ID。但是如何动态传递列名。
示例Mapper示例我有。
public class Address {
private Integer address_ID; //PK auto generated
private String name;
// getters and setters
}
public class Home {
private Integer addressID; //FK
private String Name;
}
public interface HomeMapper {
String INSERT_ADDRESS = "INSERT INTO HOMES(ADDRESS_ID, NAME) VALUES ( {addressID}, #{name})";
@Insert(INSERT_ADDRESS)
@SelectKey(**statement="SELECT ADDRESS_ID FROM ADDRESSES WHERE NAME='Mintu'**", keyProperty = "addressID", before=true, resultType=int.class)
public void insertRecord(Home homeName);
}
如何将值动态发送到语句?
有人可以帮助我处理这种情况吗?我是mybatis的新手,不确定这是否是实现这一目标的方法。