Hibernate中插入一条记录并返回主键的值,用方法save();
Mybatis:
配置文件中:
<insert id="c_User" parameterType="com.joe.po.User">
<!--
selectKey:返回自增的主键
- order:相对于insert语句的执行时机,BEFORE|AFTER
- keyProperty:将返回的主键放入传入参数的t_user_id中保存
- resultType:keyProperty中的值的类型全名
SQL语句中,last_insert_id()函数可以得到上一次添加语句的自增ID
-->
<selectKey order="AFTER" keyProperty="t_user_id" resultType="java.lang.Integer">
select last_insert_id()
</selectKey>
insert into t_user (t_user_id,u_name,u_gender) values (#{t_user_id},#{u_name},#{u_gender})
</insert>
测试:
SqlSessionFactory sqlSessionFactory = SessionFactoryUtils.getSessionFactory("SqlMapConfig.xml");
SqlSession sesison = sqlSessionFactory.openSession();
SqlSession sqlSession = sqlSessionFactory.openSession();
Users user = new Users(null, "小花", 23);
int i = sqlSession.insert("userCRUD.insertUsers", user);
sqlSession.commit();//提交事务
System.out.println("i===:::" + i);//插入的记录数
System.out.println(user.getT_user_id());//返回的是新纪录的主键值
sesison.close();// 关闭session