mybatis的增删改


支持

整体结构

在这里插入图片描述

数据库支持

在这里插入图片描述

增删改查

添加用户

UserMapper.java

//    添加用户
    int addUser(User user);

UserMapper.xml

 <!--添加用户-->
    <insert id="addUser" parameterType="com.guo.pojo.User">
        insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd})
    </insert>

UserMapperTest.java

/*添加用户*/
    @Test
    public void addUser() {
    
    
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int res = mapper.addUser(new User(3, "王五", "123"));
        /*提交事务*/
        sqlSession.commit();
        /*控制台输出*/
        List<User> userList = mapper.getUserList();
        for (User user : userList) {
    
    
            System.out.println(user);
        }
        sqlSession.close();
    }

结果

在这里插入图片描述
在这里插入图片描述

注意

如果没有提交事务 ,运行结果如上所示。控制台显示成功添加用户,实际上数据并没添加至数据库。
添加事务后,数据便能成功添加至数据库。
所以,切记提交事务

删除用户

UserMapper.java

//    删除用户
    int deleteUser(int id);

UserMapper.xml

 <!--删除用户-->
    <delete id="deleteUser" parameterType="int">
        delete from mybatis.user where id = #{id}
    </delete>

UserMapperTest.java

/*删除用户*/
    @Test
    public void deleteUser() {
    
    
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.deleteUser(3);
        /*提交事务*/
        sqlSession.commit();
        /*控制台输出*/
        List<User> userList = mapper.getUserList();
        for (User user : userList) {
    
    
            System.out.println(user);
        }
        sqlSession.close();
    }

修改用户信息

UserMapper.java

//    修改用户信息
    int updateUser(User user);

UserMapper.xml

 <!--修改用户信息-->
    <update id="updateUser" parameterType="com.guo.pojo.User">
      update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
    </update>

UserMapperTest.java

/*修改用户信息*/
    @Test
    public void updateUser() {
    
    
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.updateUser(new User(3, "哈哈", "2333"));
        /*提交事务*/
        sqlSession.commit();
        /*控制台输出*/
        List<User> userList = mapper.getUserList();
        for (User user : userList) {
    
    
            System.out.println(user);
        }
        sqlSession.close();
    }

查询用户

UserMapper.java

//    根据id获取用户
    User getUserById(int id);

    //   获取全部用户
    List<User> getUserList();

UserMapper.xml

 <!--根据id获取用户-->
    <select id="getUserById" parameterType="int" resultType="com.guo.pojo.User">
        select * from mybatis.user where id=#{id}
    </select>

    <!--获取全部用户-->
    <select id="getUserList" resultType="com.guo.pojo.User">
        select * from mybatis.user
    </select>

UserMapperTest.java

/*根据id获取用户*/
    @Test
    public void getUserById() {
    
    
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.getUserById(2);
        /*控制台输出*/
        System.out.println(user);
        sqlSession.close();
    }

    /*获取全部用户*/
    @Test
    public void getUserList() {
    
    
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        /*控制台输出*/
        List<User> userList = mapper.getUserList();
        for (User user : userList) {
    
    
            System.out.println(user);
        }
        sqlSession.close();
    }

总结

  1. 编写UserMapper接口
  2. 在UserMapper.xml文件中写相应的sql语句
  3. 测试
  • 注意
  • UserMapper.xml中应该用
    < mapper namespace=“com.guo.mapper.UserMapper” >
    绑定接口,namespace的值为接口的全限定名
  • < insert>< /insert> 对应添加
  • < delete>< /delete> 对应删除
  • < update>< /update> 对应修改
  • < select>< /select> 对应查询
  • 增删改需要添加事务

猜你喜欢

转载自blog.csdn.net/m0_47585722/article/details/118729031