Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mybatis插入自定义对象_Java_Mybatis - Fatal编程技术网

Java Mybatis插入自定义对象

Java Mybatis插入自定义对象,java,mybatis,Java,Mybatis,在我找到的几乎所有mybatis示例中,人们都指定了 插入。我不想指定表中的每一列。有 无论如何,当我用user对象调用addProfile()时。所有属性 是否直接映射并插入到给定表的所有列中? 我想这样 @Insert("insert into user values #{user}") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") public int addProfile(User user

在我找到的几乎所有mybatis示例中,人们都指定了 插入。我不想指定表中的每一列。有 无论如何,当我用user对象调用addProfile()时。所有属性 是否直接映射并插入到给定表的所有列中? 我想这样

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

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

这一点很清楚,

MyBatis在从数据库读取数据时具有自动映射功能,但没有 具有插入时自动映射字段的选项

SQL select语句(
select)中可能有隐式字段
*因此,在这种情况下会自动映射到POJO,但在update或insert中不可能有隐式字段
没有自动映射