2.4、MyBatis的XML基本用法——update用法
2.4、MyBatis的XML基本用法——update用法
1、简单用法
接口方法
/** * 根据主键更新 * * @param sysUser * @return */ int updateById(SysUser sysUser);
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>
测试代码
@Test public void testUpdateById() { SqlSession sqlSession = getSqlSession(); try { UserMapper userMapper = sqlSession.getMapper(UserMapper.class); // 从数据库查询 1 个 user 对象 SysUser user = userMapper.selectById(1L); // 当前 userName 为 admin Assert.assertEquals("admin", user.getUserName()); // 修改用户名 user.setUserName("admin_test"); // 修改邮箱 user.setUserEmail("test@mybatis.tk"); // 更新数据,特别注意,这里的返回值 result 是执行的 SQL 影响的行数 int result = userMapper.updateById(user); // 只更新 1 条数据 Assert.assertEquals(1, result); // 根据当前 id 查询修改后的数据 user = userMapper.selectById(1L); // 修改后的名字 admin_test Assert.assertEquals("admin_test", user.getUserName()); } finally { // 为了不影响数据库中的数据导致其他测试失败,这里选择回滚 // 由于默认的 sqlSessionFactory.openSession() 是不自动提交的, // 因此不手动执行 commit 也不会提交到数据库 sqlSession.rollback(); // 不要忘记关闭 sqlSession sqlSession.close(); } }
update就介绍到这里,更复杂的就需要了解后面的动态sql用法了
浙公网安备 33010602011771号