有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案