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>

新增一个测试类方法

分类: java