其他分享
首页 > 其他分享> > 用注解实现CRUD

用注解实现CRUD

作者:互联网

声明

本文为其他博主文章总结,仅用作个人学习,特此声明

参考文章链接

(3条消息) 狂神说 | Mybatis完整版笔记_小七rrrrr的博客-CSDN博客_狂神说mybatis笔记

注解实现 CRUD

这样做的好处是不需要给CRUD方法注册映射

需要特别注意的是虽然不需要给方法注册映射,但是需要将接口绑定注册到mybatis-config.xml

我们可以在工具类创建的时候实现自动提交事务

  1. 在MybatisUtils中的openSession 设置为true自动提交

    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession(true);
    }
    
  2. 编写接口,增加注解

    package com.xy.dao;
    
    import com.xy.pojo.User;
    import org.apache.ibatis.annotations.*;
    
    import java.util.List;
    
    public interface UserMapper {
    /*
     @Param是MyBatis所提供的(org.apache.ibatis.annotations.Param),作为Dao层的注解,作用是用于传递参数,从而可以与SQL中的的字段名相对应,一般在2=<参数数<=5时使用最佳。
    */
        @Select("select id,name,pwd as password from mybatis.users where id = #{id}")
        User getUserById(@Param("id") int id);
    
        @Insert("insert into mybatis.users(id,name,pwd) values (#{id},#{name},#{pwd})")
        int addUser(User user);
    
        @Update("update mybatis.users set name = #{name},pwd = #{pwd} where id = #{id}")
        int updateUser(User user);
    
        @Delete("delete from mybatis.users where id = #{id}")
        int deleteUser(@Param("id") int id);
    
    }
    
  3. 测试代码【我们必须要将接口绑定注册到核心配置文件中mybatis-config.xml】

    • 由id选择用户 select by id

      @Test
      public void getUserById(){
          SqlSession sqlSession = MyBatisUtils.getSqlSession();
          UserMapper mapper = sqlSession.getMapper(UserMapper.class);
          User userById = mapper.getUserById(1);
          System.out.println(userById);
      }
      

    • 增加数据 insert

      @Test
      public void addUser(){
          SqlSession sqlSession = MyBatisUtils.getSqlSession();
          UserMapper mapper = sqlSession.getMapper(UserMapper.class);
          mapper.addUser(new User(6,"hhhh","123456"));
      }
      

    • 删除数据 delete

      @Test
      public void deleteUser(){
          SqlSession sqlSession = MyBatisUtils.getSqlSession();
          UserMapper mapper = sqlSession.getMapper(UserMapper.class);
          mapper.deleteUser(6);
      }
      

    • 修改数据 update

      @Test
      public void updateUser(){
          SqlSession sqlSession = MyBatisUtils.getSqlSession();
          UserMapper mapper = sqlSession.getMapper(UserMapper.class);
          mapper.updateUser(new User(5,"xy","123456789"));
      }
      


关于 @param 注解

标签:mapper,实现,CRUD,UserMapper,SqlSession,getSqlSession,sqlSession,注解,public
来源: https://www.cnblogs.com/xypersonal/p/16354671.html