Mybatis对于数据库更新和删除操做是很是简单的,会写更新、删除SQL就能完成,所用到Mybatis标签及属性也不多。在实际工做中在对数据进行更新和删除时,考虑更多的是事务,需结合业务确保数据的完整性。git
下面简单实例Mybatis的UPDATE和DELETE使用。github
本系列文章是基于Mybatis 3.4.6 版本,数据库使用的是Mysql 5.7。sql
Mybatis更新操做实例。数据库
UPDATE标签配置代码以下:mybatis
<!-- 配置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>
接口代码以下:app
// 返回值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(); } }
Mybatis删除操做实例。测试
代码以下:spa
<!-- 配置id属性与Mapper接口的方法名对应 --> <delete id="deleteById"> DELETE FROM sys_user WHERE id = #{id} </delete>
接口代码以下:code
// 返回值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,共同窗习、共同进步,谢谢!