Java POJO作为Mybatis中插入的参数
我有一个名为UserDTO的域对象 这是我的mapper.xml文件配置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
<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"