Mybatis 插入自定义对象
Mybatis insert custom object
在我为 mybatis 找到的几乎所有示例中,人们都指定了每一列
insertion.I 不想指定 table 中的每一列。在那儿
无论如何,当我用用户对象调用 addProfile() 时。所有属性
映射并直接插入到给定 table 的所有列中?
我想要这样...
@Insert("insert into user values #{user}")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
public int addProfile(User user);
您可以在 addProfile()
方法中将 User 对象作为参数传递。但是您在 @Insert
注释中指定的字符串是一个普通的 SQL 语句,它不知道您传递到语句中的用户对象。
这个点的很清楚,
MyBatis has auto mapping when reading data from database but doesn't
have option to automatically map fields on insertion.
It is possible to have implicit fields in SQL select statement (select
* from table
) so there is automatic mapping to POJO in this case but it is not possible to have implicit fields in update or insert hence
no auto-mapping.
在我为 mybatis 找到的几乎所有示例中,人们都指定了每一列 insertion.I 不想指定 table 中的每一列。在那儿 无论如何,当我用用户对象调用 addProfile() 时。所有属性 映射并直接插入到给定 table 的所有列中? 我想要这样...
@Insert("insert into user values #{user}")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
public int addProfile(User user);
您可以在 addProfile()
方法中将 User 对象作为参数传递。但是您在 @Insert
注释中指定的字符串是一个普通的 SQL 语句,它不知道您传递到语句中的用户对象。
这个
MyBatis has auto mapping when reading data from database but doesn't have option to automatically map fields on insertion.
It is possible to have implicit fields in SQL select statement (
select * from table
) so there is automatic mapping to POJO in this case but it is not possible to have implicit fields in update or insert hence no auto-mapping.