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(); } }