2.5、MyBatis的XML基本用法——delete用法
1、簡單用法
接口方法

/** * 通過主鍵刪除 * * @param id * @return */ int deleteById(Long id); /** * 通過主鍵刪除 * * @param id * @return */ int deleteById(SysUser sysUser);
XML配置

<delete id="deleteById"> delete from sys_user where id = #{id} </delete>
測試代碼

@Test public void testDeleteById() { SqlSession sqlSession = getSqlSession(); try { UserMapper userMapper = sqlSession.getMapper(UserMapper.class); // 從數據庫查詢 1 個 user 對象,根據 id = 1 查詢 SysUser user1 = userMapper.selectById(1L); // 現在還能查詢出 user 對象 Assert.assertNotNull(user1); // 調用方法刪除 Assert.assertEquals(1, userMapper.deleteById(1L)); // 再次查詢,這時應該沒有值,為 null Assert.assertNull(userMapper.selectById(1L)); // 使用 SysUser 參數再做一遍測試,根據 id = 1001 查詢 SysUser user2 = userMapper.selectById(1001L); // 現在還能查詢出 user 對象 Assert.assertNotNull(user2); // 調用方法刪除,注意這里使用參數為 user2 Assert.assertEquals(1, userMapper.deleteById(user2)); // 再次查詢,這時應該沒有值,為 null Assert.assertNull(userMapper.selectById(1001L)); // 使用 SysUser 參數再做一遍測試 } finally { // 為了不影響數據庫中的數據導致其他測試失敗,這里選擇回滾 // 由於默認的 sqlSessionFactory.openSession() 是不自動提交的, // 因此不手動執行 commit 也不會提交到數據庫 sqlSession.rollback(); // 不要忘記關閉 sqlSession sqlSession.close(); } }
delete用法也只講到這里,更復雜的可學習動態sql