0.前言
上一篇文章已经实现了IDEA+MyBatis基础环境的搭建:
IDEA+MyBatis实现动态SQL的增删改查1 – 每天进步一点点 (longkui.site)
这篇文章介绍一下如何实现增删改查
1.查询
需求:通过id查询某个学生。
修改StudnetMapper.xml文件,新增一个查询
<!--通过id查询学生 --> <select id="findStudentById" parameterType="int" resultMap="studentMap"> select * from t_student where sid= #{id} </select>
新增test方法
//通过id查询某个学生的测试类 @Test public void findStudentByIdTest(){ String resources = "mybatis-config.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(resources); } catch (IOException e) { e.printStackTrace(); } SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sqlMapper.openSession(); Student student = session.selectOne("findStudentById",2); //查询id为2的学生 System.out.println(student); session.close(); }
测试效果:
2.新增
需求:新增一个学生。
在StudentMapper.xml文件中新增一个insert操作。
<!--新增一个学生--> <insert id="addStudent" parameterType="org.cat.pojo.Student"> insert into t_student(sid,sname,sage) values (#{id},#{name},#{age}) </insert>
测试类新增一个方法
//新增一个学生 @Test public void insertStudent(){ String resources = "mybatis-config.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(resources); } catch (IOException e) { e.printStackTrace(); } SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sqlMapper.openSession(); Student student = new Student(); student.setName("老虎"); student.setAge(10); session.insert("addStudent",student); session.close(); }
测试效果:
3.更新
需求:根据学生的id,更新一个学生信息。
xml文件中新增一个update操作。
<update id="updateStudentById" parameterType="org.cat.pojo.Student"> update t_student set sname =#{name}, sage = #{age} where sid = #{id} </update>
测试类新增一个方法
//更新一个学生 @Test public void updateStudent(){ String resources = "mybatis-config.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(resources); } catch (IOException e) { e.printStackTrace(); } SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sqlMapper.openSession(); Student student = new Student(); student.setName("老虎2"); student.setAge(101); student.setId(5); //要修改id为5的学生 session.update("updateStudentById",student); session.close(); }
测试效果:
4.删除
需求:根据一个id删除一个学生的信息。
在StudentMapper.xml文件中新增一个delete操作
<!--删除一个学生--> <delete id="deleteStudentById" parameterType="int"> delete from t_student where sid= #{id} </delete>
新增一个测试类方法