使用mybatis

时间:2017-03-07 15:24:21

标签: java mysql database oracle mybatis

我有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的新手,不确定这是否是实现这一目标的方法。

0 个答案:

没有答案