学科分类
目录
SSM框架

删除客户

MyBatis的删除操作在映射文件中是通过配置<delete>元素来实现的。在映射文件CustomerMapper.xml中添加删除客户信息的SQL语句,其示例代码如下:

<!-- 删除客户信息 -->
<delete id="deleteCustomer" parameterType="Integer">
    delete from t_customer where id=#{id}
</delete>

从上述配置的SQL语句中可以看出,我们只需要传递一个id值就可以将数据表中相应的数据删除。

要测试删除操作的配置十分简单,只需使用SqlSession对象的delete()方法传入需要删除数据的id值即可。在测试类MybatisTest中,添加测试方法deleteCustomerTest(),该方法用于将id为4的客户信息删除,其代码如下所示。

/**
 * 删除客户
 */
@Test
public void deleteCustomerTest() throws Exception{        
    // 1、读取配置文件
    String resource = "mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    // 2、根据配置文件构建SqlSessionFactory
    SqlSessionFactory sqlSessionFactory = 
            new SqlSessionFactoryBuilder().build(inputStream);
    // 3、通过SqlSessionFactory创建SqlSession
    SqlSession sqlSession = sqlSessionFactory.openSession();
    // 4、SqlSession执行删除操作
    // 4.1执行SqlSession的删除方法,返回的是SQL语句影响的行数
    int rows = sqlSession.delete("com.itheima.mapper"
            + ".CustomerMapper.deleteCustomer", 4);
    // 4.2通过返回结果判断删除操作是否执行成功
    if(rows > 0){
        System.out.println("您成功删除了"+rows+"条数据!");
    }else{
        System.out.println("执行删除操作失败!!!");
    }
    // 4.3提交事务
    sqlSession.commit();
    // 5、关闭SqlSession
    sqlSession.close();
}

使用JUnit4执行deleteCustomerTest()方法后,控制台的输出结果如图1所示。

图1 运行结果

此时,再次查看表t_customer中的数据信息时,其结果如图2所示。

图2 t_customer表

从图2可以看出,使用MyBatis框架已经成功删除了id为4的客户信息。

至此,MyBatis入门程序的增删改查操作已经讲解完成。关于程序中映射文件和配置文件中的元素信息,将在下一章进行详细讲解,本章入门程序读者只需了解所使用的元素即可。

点击此处
隐藏目录