Mybatis 增删改查流程

178 阅读1分钟

1、编写Mapper.java接口

2、编写Mapper.xml文件

3、编写测试类

样例如下

更改数据库需要提交事务

  • 接口
public interface PeopleMapper {
    List<People> getPeopleList();

    List<People> getPeopleById(int i);

    int addPeople(People people);//更新数据库返回值是受影响的行数,所以是int

    int delPeople(String name);

    int updateP(People people);
}
  • mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.mybatis.DAO.PeopleMapper">
    <select id="getPeopleList" resultType="com.mybatis.pojo.People">
        select * from mybatis.people;
    </select>
    
    <select id="getPeopleById" resultType="com.mybatis.pojo.People">
        select * from mybatis.people where id=#{id};
    </select>
    <insert id="addPeople" parameterType="com.mybatis.pojo.People">
        insert into mybatis.people(id, name, age, address) VALUES (#{id},#{name},#{age},#{address});
    </insert>
    <delete id="delPeople" parameterType="String" >
        delete from mybatis.people where name=#{name};
    </delete>
    <update id="updateP" parameterType="com.mybatis.pojo.People" >
        update mybatis.people set name=#{name},age=#{age},address=#{address} where id=#{id};
    </update>
</mapper>
  • 测试类
public class PeopleDAOtest {
    @Test
    public void print() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
        List<People> people = peopleMapper.getPeopleList();
        for (People p :people){
            System.out.println(p);
        }
        sqlSession.close();
    }
    @Test
    public void test01(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
        List<People> people = peopleMapper.getPeopleById(1);
        for (People p :people){
            System.out.println(p);
        }
        sqlSession.close();
    }
    @Test
    public void test02(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
        int i = peopleMapper.addPeople(new People(5,"hhh",12,"马来西亚"));
        sqlSession.commit();//更新数据库一定要提交事务
        print();
    }
    @Test
    public void test03(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
        peopleMapper.delPeople("hhh");
        sqlSession.commit();//!!!!!!!!!!!!!!!!!
        print();
    }
    @Test
    public void test04(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        PeopleMapper peopleMapper = sqlSession.getMapper(PeopleMapper.class);
        peopleMapper.updateP(new People(1,"kittyguy",500,"意大利"));
        sqlSession.commit();//!!!!!!!!!!!!!!!!!!!!!!!!!!!
        print();
    }
}