zoukankan      html  css  js  c++  java
  • 10-Mybatis使用注解开发

    用注解完成CRUD

    在接口的抽象方法上使用以下注解:

    • @select(“sql语句”)

    • @insert(“sql语句”)

    • @delete(“sql语句”)

    • @update(“sql语句”)

    以替代***mapper.xml文件,就不需要写mapper.xml映射文件了。

    public interface StudentMapper {
        //----------使用注解----------
    
        //根据姓名查学生信息
        @Insert("insert into student values(null,#{sname},#{age},#{cid})")
        public int addStu(Student student);
    
        //根据姓名删除学生信息
        @Delete("delete from student where sname = #{param1}")
        public int deleteByName(String name);
    
        //根据sid修改学生班级
        @Update("update student set cid = #{cid} where sid = #{sid}")
        public int updateBySid(Student student);
    
        //根据姓名查学生信息
        @Select("select * from student where sname = #{param1}")
        public Student selByName(String name);
    }
    

    运行代码:

    @Test
    public void addStudent(){
        Student s = new Student();
        s.setSname("阿飞");
        s.setAge(18);
        s.setCid(4);
        int i = studentMapper.addStu(s);
        System.out.println(i);
        sqlSession.commit();
        sqlSession.close();
    }
    
    @Test
    public void deleteByName(){
        int i = studentMapper.deleteByName("张三");
        System.out.println(i);
        sqlSession.commit();
        sqlSession.close();
    }
    
    /**
    * 将sid为14的学生班级改为3班
    */
    @Test
    public void updateBySid(){
        Student s = new Student();
        s.setCid(3);
        s.setSid(14);
        studentMapper.updateBySid(s);
        sqlSession.commit();
        sqlSession.close();
    }
    
    @Test
    public void selByName(){
        Student student = studentMapper.selByName("阿飞");
        System.out.println(student);
        sqlSession.close();
    }
    

    总结:

    • 优点: 简洁,可以不使用****mapper.xml映射文件

    • 缺点: 直接注解进行多表查询特别繁琐,但是可以使用手动装配的方式多表查询(最佳)

    建议在单表查询的时候使用注解,简化操作

  • 相关阅读:
    failed to push some refs to 'git@github.com:cq1415583094/MyBatis.git'解决办法
    MyBatis 安装和配置
    MyBatis入门
    LinkedList 源码分析
    ArrayList 源码分析
    什么是注解?
    什么是泛型?
    什么是反射?
    php针对各数据库系统对应的扩展
    DedeCMS文章标题长度最全修改方法
  • 原文地址:https://www.cnblogs.com/soft-test/p/14825446.html
Copyright © 2011-2022 走看看