默认情况下映射文件中插入数据:
<insert id="saveUser" parameterType="com.itheima.domain.User">
INSERT INTO user (username,address,sex,birthday) VALUES (#{username},#{address},#{sex},#{birthday})
</insert>
单元测试
@Test
public 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实体类中的id
keyColumn 数据库中的id
resultType 结果集类型
order 何时执行获取id的操作[插入之后]
单元测试不变::
结果::