设计表时mysql的表主键设置为自增长类型,然后就在ibatis中配置了以下的sql语句(这个表有个名字为id的自增长主键id)

<!-- 创建用户信息 --> <insert id="createUser" parameterClass="userAlias"> <!--[CDATA[ insert into user (name, password, email, status, gmt_create, gmt_modified) values (#name#, #password#, #email#, #status#, now(), now()) ]]--> </insert> 

运行完程序后通过user.getId()竟然得到的值是0,查了一下资料才知道,如果让ibatis自动返回这个刚生成的主键,需要在配置文件中添加一行

<!-- 创建用户信息 --> <insert id="createUser" parameterClass="userAlias"> <!--[CDATA[ insert into user (id, name, password, email, status, gmt_create, gmt_modified) values (#id#, #name#, #password#, #email#, #status#, now(), now()) ]]--> <selectKey resultClass="long" keyProperty="id"> select last_insert_id() as ID from user limit 1 </selectKey> </insert> 

注意上面那个selectKey标签就是写个让ibatis来查询获取主键的sql,不同的数据库有不同的sql写法