2015-10-28 77 views
2

在mybatis中找到的幾乎所有示例中,人們都指定插入的每個列爲 。我不想指定表中的每一列。有沒有 任何方式,當我用用戶對象調用addProfile()。所有屬性 都映射並直接插入給定表的所有列中? 我想是這樣...Mybatis插入自定義對象

@Insert("insert into user values #{user}") 
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") 
public int addProfile(User user); 

回答

2

您可以通過用戶對象爲在addProfile()方法的參數。但是您在@Insert批註中指定的字符串是普通的SQL語句,它不知道您傳遞給語句的用戶對象。

answer分清楚,

MyBatis的讀取來自數據庫的數據時,但不 有選項上插入自動映射領域具有自動映射。

它可以在SQL SELECT語句(select * from table)隱場所以自動映射在這種情況下POJO,但它是不可能有隱含的字段更新或插入,因此 沒有自動映射。