sqlMap配置1:<insert id="insert" parameterType="org.learn.baseframe.entity.SysUser" useGeneratedKeys="true" keyProperty="id">
insert into t_sys_user (su_username, su_password, su_name, su_sex)
values (#{username,jdbcType=NVARCHAR}, #{password,jdbcType=NVARCHAR}, #{name,jdbcType=NVARCHAR},
#{sex,jdbcType=NVARCHAR})
</insert>使用 sysUser.getId() 可以得到值sqlMap配置2: <insert id="insert" parameterType="org.learn.baseframe.entity.SysUser">
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
insert into t_sys_user (su_username, su_password, su_name, su_sex)
values (#{username,jdbcType=NVARCHAR}, #{password,jdbcType=NVARCHAR}, #{name,jdbcType=NVARCHAR}, #{sex,jdbcType=NVARCHAR})
SELECT SCOPE_IDENTITY()
</selectKey>
</insert>使用 sysUser.getId() 可以得到值sqlMap配置3: <insert id="insert" parameterType="org.learn.baseframe.entity.SysUser">
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
SELECT SCOPE_IDENTITY()
</selectKey>
insert into t_sys_user (su_username, su_password, su_name,su_sex)
values (#{username,jdbcType=NVARCHAR}, #{password,jdbcType=NVARCHAR}, #{name,jdbcType=NVARCHAR},
#{sex,jdbcType=NVARCHAR})
</insert>
使用 sysUser.getId() 得到的却是null值因为sqlmap.xml是用mybatis-generator工具生成的,生成的配置是sqlMap配置3的配置,不想手工更改配置文件,各位大大,看看为什么是null值啊!!!MyBatisselect
insert into t_sys_user (su_username, su_password, su_name, su_sex)
values (#{username,jdbcType=NVARCHAR}, #{password,jdbcType=NVARCHAR}, #{name,jdbcType=NVARCHAR},
#{sex,jdbcType=NVARCHAR})
</insert>使用 sysUser.getId() 可以得到值sqlMap配置2: <insert id="insert" parameterType="org.learn.baseframe.entity.SysUser">
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
insert into t_sys_user (su_username, su_password, su_name, su_sex)
values (#{username,jdbcType=NVARCHAR}, #{password,jdbcType=NVARCHAR}, #{name,jdbcType=NVARCHAR}, #{sex,jdbcType=NVARCHAR})
SELECT SCOPE_IDENTITY()
</selectKey>
</insert>使用 sysUser.getId() 可以得到值sqlMap配置3: <insert id="insert" parameterType="org.learn.baseframe.entity.SysUser">
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
SELECT SCOPE_IDENTITY()
</selectKey>
insert into t_sys_user (su_username, su_password, su_name,su_sex)
values (#{username,jdbcType=NVARCHAR}, #{password,jdbcType=NVARCHAR}, #{name,jdbcType=NVARCHAR},
#{sex,jdbcType=NVARCHAR})
</insert>
使用 sysUser.getId() 得到的却是null值因为sqlmap.xml是用mybatis-generator工具生成的,生成的配置是sqlMap配置3的配置,不想手工更改配置文件,各位大大,看看为什么是null值啊!!!MyBatisselect
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
SELECT SCOPE_IDENTITY()
</selectKey>改为
<insert id="insert" parameterType="org.learn.baseframe.entity.SysUser" useGeneratedKeys="true" keyProperty="id">
……
看下