标签:-- ati test 成功 映射文件 session cto sql 设置
1、映射文件:在User.xml配置文件中添加如下内容
<!-- 保存用户 -->
<insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User">
INSERT INTO `user`
(username,birthday,sex,address) VALUES
(#{username},#{birthday},#{sex},#{address})
</insert>
2、测试程序
@Test public void testSaveUser() { // 4. 创建SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); // 5. 执行SqlSession对象执行保存 // 创建需要保存的User User user = new User(); user.setUsername("张飞"); user.setSex("1"); user.setBirthday(new Date()); user.setAddress("蜀国"); sqlSession.insert("saveUser", user); System.out.println(user); // 需要进行事务提交 sqlSession.commit(); // 7. 释放资源 sqlSession.close(); }
保存成功,但是id=0,需要解决id返回不正常的问题。
通过修改User.xml映射文件,可以将mysql自增主键返回:
<!-- 保存用户 --> <insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User"> <!-- selectKey 标签实现主键返回 --> <!-- keyColumn:主键对应的表中的哪一列 --> <!-- keyProperty:主键对应的pojo中的哪一个属性 --> <!-- order:设置在执行insert语句前执行查询id的sql,还是在执行insert语句之后执行查询id的sql --> <!-- resultType:设置返回的id的类型 --> <selectKey keyColumn="id" keyProperty="id" order="AFTER" resultType="int"> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO `user` (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address}) </insert>
LAST_INSERT_ID():是mysql的函数,返回auto_increment自增列新记录id值。
标签:-- ati test 成功 映射文件 session cto sql 设置
原文地址:https://www.cnblogs.com/xiaoxli/p/9594530.html