默认情况下映射文件中插入数据:
<insert id="saveUser" parameterType="com.itheima.domain.User">INSERT INTO user (username,address,sex,birthday) VALUES (#{username},#{address},#{sex},#{birthday})</insert>
单元测试
@Testpublic void testSave() {User user = new User();user.setUsername("张XX");user.setAddress("北京 海淀区");user.setSex("男");user.setBirthday(new Date());System.out.println("保存之前"+user);userDao.saveUser(user);System.out.println("保存之后"+user);
// !!!!提交事物sqlSession.commit();}
输出:
实体Bean的id为Integer所以id=null
若实体bean的id为int 对应输出id=0
如何输出id显示呢???
修改映射文件的
<insert id="saveUser" parameterType="com.itheima.domain.User"><selectKey keyProperty="id" keyColumn="id" resultType="java.lang.Integer" order="AFTER">SELECT last_insert_id();</selectKey>INSERT INTO user (username,address,sex,birthday) VALUES (#{username},#{address},#{sex},#{birthday})</insert>说明::keyProperty bena实体类中的idkeyColumn 数据库中的idresultType 结果集类型order 何时执行获取id的操作[插入之后]
单元测试不变::
结果::