删除客户
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入门程序的增删改查操作已经讲解完成。关于程序中映射文件和配置文件中的元素信息,将在下一章进行详细讲解,本章入门程序读者只需了解所使用的元素即可。