MyBatis单表删除和修改操作

单表的删除

这里的删除还是在之前示例的基础上进行编写,先在StudentMapper.xml中添加删除操作的SQL语句:

<delete id="deleteStudent">
    DELETE FROM t_student where id=#{id}
</delete>

先之后StudentDao接口中添加deleteStudent的方法,然后在其实现类中实现该方法:

@Override
public void deleteStudent(int id) {
    try(SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
        //删除
        sqlSession.delete("deleteStudent",id);
        //提交SqlSession
        sqlSession.commit();

    }
}

在测试类中,为了避免每个方法中都要创建StudentDao类型的对象,我们添加一个方法用来初始化其对象并添加删除操作的方法:

 private StudentDao studentDao;

/**
 * 测试时先执行该方法创建StudentDao对象
 */
@Before
public void initStudentDao(){
    studentDao = new StudentDaoImpl();
}

/**
 * 删除
 */
@Test
public void deleteStudent(){
    //删除id是1的数据
    studentDao.deleteStudent(1);
}

这样就完成了一个删除操作。

修改数据

在mapper中添加修改SQL

 <update id="updateStudent">
    UPDATE t_student set name=#{name},age=#{age},score=#{score} where id=#{id}
</update>

在StudentDao中添加updateStudent方法并在StudentDaoImple中实现该方法:

 @Override
public void updateStudent(Student student) {
    try(SqlSession sqlSession = MyBatisUtil.getSqlSession()) {

        //修改数据操作
        sqlSession.update("updateStudent", student);
        //提交SqlSession
        sqlSession.commit();

    }
}

在测试类中添加下面方法进行测试:

@Test
public void updateStudent(){
    Student student = new Student("郭富城", 50, 96.50);
    student.setId(2);
    studentDao.updateStudent(student);
}

这样就完成了一个修改的操作。