2015-10-28 57 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,但它是不可能有隐含的字段更新或插入,因此 没有自动映射。