ibatis+sqping+mysql插入数据返回自增的id
<!-- 添加人员信息 --> <insert id="addAirUser" parameterClass="airUser"> <![CDATA[ insert into air_user( username , truename , telephone , password , phone, email , org_id , remark) values ( #userName# , #trueName# , #telePhone#,#passWord# , #phone# ,#email# , #orgId# , #remark#) ]]> <selectKey resultClass="int" keyProperty="userId" type="post"> <![CDATA[ SELECT LAST_INSERT_ID() ]]> </selectKey> </insert>
在使用的使用切记::::type="post"不能省略,否则会出现返回的自增值为0的情况,
dao层
@Override public int addAirUser(AirUser airUser) { return ((Integer) getSqlMapClientTemplate().insert("addAirUser", airUser)) .intValue(); }
bean层
*/ private int userId; private String userName; //用户名 private String trueName; //姓名 private String telePhone; //电话 private String passWord; //密码 private String phone; //手机 private String email; //email private String orgId; //组织id private String remark; //备注
这个userId的int类型必须与
resultClass="int" 相对应,否则会出现类型不匹配。
上述为自己亲身实践。返回值问题,自己找了好长时间。