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" 相对应,否则会出现类型不匹配。
上述为自己亲身实践。返回值问题,自己找了好长时间。
posted on 2014-04-03 10:14  火玉  阅读(436)  评论(0编辑  收藏  举报