MyBatis属性回填
一、数据自增长,增长后获取最后插入的id值,回填到User的id属性中。
方法1.
<insert id="adduser" parameterType="org.rong.bean.User">
<selectKey resultType="Long" keyProperty="id" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO user set username=#{username},password=#{password},nickname=#{nickname}
</insert>
方法2.
<insert id="adduser2" parameterType="org.rong.bean.User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user set username=#{username},password=#{password},nickname=#{nickname}
</insert>
二,数据非自增长,先查询数据库uuid(),生成一段唯一的字符串,将字符串当成User的id属性值插入到数据库中
<insert id="adduser3" parameterType="org.rong.bean.User2">
<selectKey resultType="String" keyProperty="id" order="BEFORE">
SELECT uuid()
</selectKey>
INSERT INTO user2 set username=#{username},id=#{id}
</insert>
三、测试
public class Main {
public static void main(String[] args) throws IOException {
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getInstance();
SqlSession sqlSession = sqlSessionFactory.openSession();
User2 user2 = new User2(null, "qweqwewq");
sqlSession.insert("namespace.User.adduser3", user2);
sqlSession.commit();
System.out.println(user2.toString());
}
}