更新客户信息
1.MyBatis的更新操作在映射文件中是通过配置 <update>
元素来实现的,如果需要更新客户数据,可以通过在CustomerMapper.xml文件中配置下面代码来实现:
<!--更新客户信息-->
<update id="updateCustomer" parameterType="com.webtest.po.Customer">
update t_customer set
username=#{username},jobs=#{jobs},phone=#{phone}
where id=#{id}
</update>
2. 在测试类MybatisTest中,添加测试方法updateCustomerTest(),将id为3的用户职业修改为“programmer”,电话修改为“13311111111”,代码如下:
/**
* 更新客户
*
* */
@Test
public void updateCustomerTest() throws Exception{
String resource = "mybatis-config.xml"; //1.读取配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //2.根据配置文件构建SqlSessionFactory
SqlSession sqlSession = sqlSessionFactory.openSession(); //3.通过SqlSessionFactory创建SqlSession
Customer customer = new Customer(); //4.1创建Customer对象,将对象中的数据进行模拟更新
customer.setId(3);
customer.setUsername("tom");
customer.setJobs("programmer");
customer.setPhone("13311111111");
int rows = sqlSession.update("com.webtest.mapper.CustomerMapper.updateCustomer",customer); //4.执行SqlSession的更新方法,返回SQL语句影响的行数
if(rows>0){
System.out.println("您成功修改了"+rows+"条数据!"); //打印输出结果
}else{
System.out.println("执行修改操作失败!");
}
sqlSession.commit(); //5.提交事务
sqlSession.close(); //6.关闭SqlSession
}
使用JUnit4执行updateCustomerTest()方法后,控制台输出结果如下:
此时t_customer表中的数据:
可以看出,使用MyBatis框架已经成功更新了id为3的客户信息。