修改数据与删除数据
1、修改数据:在Mybatis框架中,修改对应的sql语句葙要书写在update标签中。
a、修改时千万不要指定返回的数据类型(增、删、改这三个操作返回类型默认均为int类型,代表 影响的行数)
b、修改数据时要指定参数的数据类型:通过update标签中的parameterType属性指定 cj修改数据时需要提交事务(添加、刪除也霈要提交事务,査询不需要)
2、删除数据:在Mybatis框架中,删除对应的sql语句需要书写在delete标签中
a、删除时千万不要指定返回的数据类型(增、删、改这三个操作返回类型驮认均为int类型,代表 影响的行数)
b、在企业的实际开发中大多数情况下是通过id{主键)来删除数据的
c、删除数据时箝要提交事务(添加、修改也S要提交事务,査询不霈要)
在局部配置文件中配置:
ComputerDaoImpl.xml
<!-- 修改数据
修改数据时不需要指定返回值类型
修改数据需要指定的参数类型
-->
<update id="updateComputer" parameterType="Map">
update book set book_name=#{book_name},price=#{price} where isbn=#{isbn}
</update>
<!-- 指定的id删除
删除数据时也不需要返回值类型
删除上数据时,需要指定的参数类型(long)
-->
<delete id="deleteComputer" parameterType="String">
delete from book where isbn=#{0}
</delete>
中添加测试方法,
//更新数据
@Test
public void updateComputer(){
//封装需要修改的数据
Map<String, Object> parameter=new HashMap<String,Object>();
parameter.put("isbn", "1003");
parameter.put("book_name", "English2");
parameter.put("price", "300");
int flag=session.insert("cn.java.dao.impl.ComputerDaoImpl.updateComputer", parameter);
session.commit();
if(flag>=1){
System.out.println("数据更新成功!");
}else{
System.out.println("数据更新失败,请重新更新!");
}
}
//删除数据
@Test
public void deleteComputer(){
int flag=session.delete("cn.java.dao.impl.ComputerDaoImpl.deleteComputer", "1003");
session.commit();
System.out.println(flag);
}