Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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 POJO作为Mybatis中插入的参数_Java_Mybatis - Fatal编程技术网

Java POJO作为Mybatis中插入的参数

Java POJO作为Mybatis中插入的参数,java,mybatis,Java,Mybatis,我有一个名为UserDTO的域对象 这是我的mapper.xml文件配置 <insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.myapp.dto.UserDTO"> insert into tblusers(username,password,email,phone,role,is_active,security_question,securtiy_an

我有一个名为UserDTO的域对象

这是我的mapper.xml文件配置

<insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.myapp.dto.UserDTO">
    insert into
    tblusers(username,password,email,phone,role,is_active,security_question,securtiy_answer,first_name,last_name)
    values(#{username},#{password},#{email},#{phone},#{role,typeHandler=com.greenflight.typehandlers.StringArrayListTypeHandler},#{is_active},#{security_question},#{securtiy_answer},#{first_name},#{last_name})
</insert>
我浏览了mybatis的文档,没有找到关于如何将域对象作为参数发送的好例子


有人能告诉我你是如何在UserDAO中实现CreateNewUserDAO方法的吗?我认为你给电话号码的值是错误的(可能是设置了错误的值)


{phone}在像这样更改映射程序文件之后,我能够插入记录

我改变了这个

<insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.greenflight.dto.UserDTO">
    insert into
    tblusers(username,password,email,phone,role,is_active,security_question,securtiy_answer,first_name,last_name)
    values(#{username},#{password},#{email},#{phone},#{role,typeHandler=com.greenflight.typehandlers.StringArrayListTypeHandler},#{is_active},#{security_question},#{securtiy_answer},#{first_name},#{last_name})
</insert>

适用于HashMap但不适用于POJO不知道为什么这不是问题这会插入记录,但不会返回插入的记录id,这是
useGeneratedKeys
keyProperty
的初始用法。在这种情况下,您可以使用HashMap
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.greenflight.dto.UserDTO">
    insert into
    tblusers(username,password,email,phone,role,is_active,security_question,securtiy_answer,first_name,last_name)
    values(#{username},#{password},#{email},#{phone},#{role,typeHandler=com.greenflight.typehandlers.StringArrayListTypeHandler},#{is_active},#{security_question},#{securtiy_answer},#{first_name},#{last_name})
</insert>
<insert id="insertUser"  parameterType="com.greenflight.dto.UserDTO">
    insert into
    tblusers(username,password,email,phone,role,is_active,security_question,securtiy_answer,first_name,last_name)
    values(#{username},#{password},#{email},#{phone},#{role,typeHandler=com.greenflight.typehandlers.StringArrayListTypeHandler},#{is_active},#{security_question},#{securtiy_answer},#{first_name},#{last_name})
</insert>
   useGeneratedKeys="true" keyProperty="id"