Mybatis插入自定义对象

时间:2015-10-28 15:55:40

标签: java mybatis

在我发现的mybatis的几乎所有例子中,人们都指定了每一列 插入。我不想指定表中的每一列。在那儿 任何方式,当我用用户对象调用addProfile()时。所有的属性 映射并直接插入给定表的所有列? 我想这样......

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

1 个答案:

答案 0 :(得分:2)

您可以将User对象作为addProfile()方法中的参数传递。但是您在@Insert注释中指定的String是一个纯SQL语句,它不知道您传递给语句的用户对象。

answer明确指出,

  

MyBatis在从数据库读取数据时有自动映射,但没有   可以选择在插入时自动映射字段。

     

在SQL select语句(select * from table)中可以有隐式字段,因此在这种情况下会自动映射到POJO,但是不可能在更新或插入中使用隐式字段   没有自动映射。