Mybatis根据对象进行数据库记录修改
一、根据主键更新(传对象)
/*
* 根据主键更新
* */
int updateById(SysUser sysUser);
2、xml如下:
<update id="updateById">
update sys_user
set user_name = #{userName},
user_password = #{userPassword},
user_email = #{userEmail},
user_info = #{userInfo},
head_img = #{headImg ,jdbcType = BLOB},
create_time = #{createTime, jdbcType = TIMESTAMP}
where id = #{id}
</update>
3. 测试函数:
@Test
public void testUpdate(){
SqlSession sqlSession = getSqlSession();
try{
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
SysUser sysUser = userMapper.selectById(1L);
Assert.assertEquals("admin_test1",sysUser.getUserName());
sysUser.setUserName("admin");
sysUser.setUserEmail("test@com.example");
sysUser.setUserInfo("admin_test info");
int result = userMapper.updateById(sysUser);
System.out.println(result);
Assert.assertNotEquals(1,result);
sysUser = userMapper.selectById(1L);
Assert.assertEquals("admin",sysUser.getUserName());
}finally {
sqlSession.commit();
sqlSession.close();
}
}

浙公网安备 33010602011771号