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

    }

  

posted @ 2023-04-02 10:51  信铁寒胜  阅读(82)  评论(0编辑  收藏  举报