修改数据

 

具体操作;

 

第一步: UserMapper.xml添加如下

 

第二步: MyBatisTest类添加如下,并运行测试

 

修改数据 -- 注意事项

 

  1. 修改语句使用update标签
  2. 修改操作使用的API是sqlSession.update("命名空间.id",实体对象);。实体就是User类,实体对象就是在MyBatisTest类创建的'模拟对象'user
  3. 修改操作涉及数据库数据变化,所以要使用sqlSession对象显示的提交事务,即使用sqlSession.commit()提交事务

 

删除数据

 

具体操作:

 

第一步: UserMapper.xml添加如下

 

第二步: MyBatisTest类添加如下,并运行测试

 

删除数据 -- 注意事项

 

1、删除语句使用delete标签

2、SQL语句中使用#{任意字符}方式引用传递(注意parameterType就是引用传递)的单个参数

3、删除操作使用的API是sqlSession.delete("命名空间.id",Object);。如果是根据id值删,Object就写具体的数字,根据其他字段删也同理

4、删除操作涉及数据库数据变化,所以要使用sqlSession对象显示的提交事务,即使用sqlSession.commit()提交事务

 

还有别搞错,引用传递也就是parameterType,不要理解为当删除数据时,就只能引用单个参数, 从而让你觉得当删除数据只能这样写: sqlSession.delete("命名空间.id",参数类型),当插入、修改数据只能sqlSession.insert|update("命名空间.id",对象);

 

正确理解: 引用传递既可以是对象,也可以是单个参数,区别就是如下:

1、当parameterType是对象时,我们在MyBatisTest类进行使用时,首先要创建一个模拟对象,例如user,然后sqlSession.delete("命名空间.id",user)

2、当parameterType是单个参数时,例如Integer,我们在MyBatisTest类进行使用时,就直接sqlSession.delete("命名空间.id",7)

3、不管parameterType是对象还是单个参数,都必须写全包名。例如对象com.huanf.domain.User、例如单个参数java.lang.Integer

4、单个参数通常指的是类型,类型的全包名一般在java.lang包下