3.Mybatis: select、insert、update、delete 操作及配置解析

文章目录

本博客项目结构

3.Mybatis: select、insert、update、delete 操作及配置解析
UserMapper.xml中的namespace改为为UserMapper的路径 .
 
UserDaoTest测试类中,定义的UserDao改为UserMapper



1. 在UserMapper接口上定义增删改查

3.Mybatis: select、insert、update、delete 操作及配置解析



2. 在UserMapper.xml编写对应的配置文件SQL

3.Mybatis: select、insert、update、delete 操作及配置解析
其中:
resultType代表结果集的元素类型

parameterType代表传参数进来的元素类似,int可省略不写

<select id="selectUserById" resultType="com.pojo.User" parameterType="int">
    select * from user where id = #{id}
</select>

<insert id="addUser"  parameterType="com.pojo.User"  >
    insert into 2mybatis_first.user (id, name, pwd) values (#{id},#{name},#{pwd});
</insert>

<update id="updateUser" parameterType="com.pojo.User">
    update 2mybatis_first.user set name=#{name},pwd=#{pwd} where id=#{id};
</update>

<delete id="deleteUser" parameterType="int">
    delete from 2mybatis_first.user where id=#{id};
</delete>



3. 编写测试类CRUD

3.Mybatis: select、insert、update、delete 操作及配置解析

所有的增删改操作(查询不用)需要提交事务!即最后要有:(否则失败)

session.commit();
public class CURD {

	//根据id查询
    @Test
    public void tsetSelectUserById() {
        SqlSession session = MybatisUtils.getSqlSession();  //获取SqlSession连接
        UserMapper mapper = session.getMapper(UserMapper.class);
        User user = mapper.selectUserById(1);
        System.out.println(user);
        session.close();
    }

    //增删改需要提交事务,查不用
    @Test
    public  void  addUser(){
        SqlSession session = MybatisUtils.getSqlSession();  //获取SqlSession连接
        UserMapper mapper = session.getMapper(UserMapper.class);

        int flag = mapper.addUser(new User(4, "hhhhhh", "1234567"));

        if(flag>0) System.out.println("插入成功");

        //提交事务
        session.commit();

        session.close();
    }


    @Test
    public  void  updateUser(){
        SqlSession session = MybatisUtils.getSqlSession();  //获取SqlSession连接
        UserMapper mapper = session.getMapper(UserMapper.class);

        int flag = mapper.updateUser(new User(4, "xxxxx", "1234567"));

        if(flag>0) System.out.println("修改成功");

        //提交事务
        session.commit();

        session.close();
    }

    @Test
    public void deleterUser(){
        SqlSession session = MybatisUtils.getSqlSession();  //获取SqlSession连接
        UserMapper mapper = session.getMapper(UserMapper.class);
        int flag = mapper.deleteUser(4);

        if(flag>0) System.out.println("删除成功");

        //提交事务
        session.commit();

        session.close();
    }
}

上一篇:MyBatis之缓存


下一篇:野路子Map传递参数