Mybatis基本映射-UPDATE/DELETE

概述

Mybatis对于数据库更新和删除操作是非常简单的,会写更新、删除SQL就能完成,所用到Mybatis标签及属性也很少。在实际工作中在对数据进行更新和删除时,考虑更多的是事务,需结合业务确保数据的完整性。

下面简单实例Mybatis的UPDATE和DELETE使用。

本系列文章是基于Mybatis 3.4.6 版本,数据库使用的是Mysql 5.7。

UPDATE

Mybatis更新操作实例。

  • mapper配置文件

UPDATE标签配置代码如下:

<!-- 配置id属性与Mapper接口的方法名对应,parameterType属性非必填 -->
<update id="update" parameterType="com.github.dalianghe.model.SysUser">
    <!-- 执行的SQL语句 -->
    UPDATE sys_user SET
    user_account = #{userAccount},
    user_password = #{userPassword}
    WHERE id = #{id}
</update>
  • mapper接口

接口代码如下:

// 返回值int为更新数据影响的行数
public int update(SysUser sysUser) throws Exception ;
  • 测试用例

测试用户代码如下:

@Test
public void testUpdate(){
    // 获得sqlSession
    SqlSession sqlSession = getSqlSession();
    try{
        // 获取Mapper接口
        SysUserMapper sysUserMapper = sqlSession.getMapper(SysUserMapper.class);
        SysUser user = new SysUser();
        user.setId(10L);
        user.setUserAccount("admin");
        user.setUserPassword("123123");
        // 插入的条数
        int count = sysUserMapper.update(user);
        System.out.println("更新影响的条数:" + count);
        // 提交事务,数据存入数据库
        sqlSession.commit();
    }catch (Exception e){
        e.printStackTrace();
    }finally {
        sqlSession.close();
    }
}

DELETE

Mybatis删除操作实例。

  • mapper配置文件

代码如下:

<!-- 配置id属性与Mapper接口的方法名对应 -->
<delete id="deleteById">
    DELETE FROM sys_user
    WHERE id = #{id}
</delete>
  • mapper接口

接口代码如下:

// 返回值int为删除影响的行数
public int deleteById(@Param("id") Long id) throws Exception;
  • 测试用例

测试用户代码如下:

@Test
public void testDelete(){
    // 获得sqlSession
    SqlSession sqlSession = getSqlSession();
    try{
        // 获取Mapper接口
        SysUserMapper sysUserMapper = sqlSession.getMapper(SysUserMapper.class);
        // 此处实例根据ID进行删除
        int count = sysUserMapper.deleteById(11L);
        sqlSession.commit();
        System.out.println("删除影响条数:" + count);
    }catch (Exception e){
        e.printStackTrace();
    }finally {
        sqlSession.close();
    }
}

总结

本节学习了mybatis的基本的update/delete的用法,希望对大家有帮助。

最后创建了qq群方便大家交流,可扫描加入,同时也可加我qq:276420284,共同学习、共同进步,谢谢!

Mybatis基本映射-UPDATE/DELETE

相关推荐