ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

用注解实现CRUD

2022-06-08 10:32:42  阅读:160  来源: 互联网

标签:mapper 实现 CRUD UserMapper SqlSession getSqlSession sqlSession 注解 public


声明

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

参考文章链接

(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 注解

  • 基本类型的参数或者String类型,需要加上
  • 引用类型不需要加
  • 如果只有一个基本类型的话,可以忽略,但是建议都加上
  • 我们在SQL中引用的就是我们在@Param("")中设定的东西

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有