java使用mybatis将数据插入带有外键的表
我有两个表,表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。但是如何动态传递列名呢
我有一个样例映射器示例
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的新手,不确定这是否是实现这一目标的方法
共 (0) 个答案