zoukankan      html  css  js  c++  java
  • mybatis中的注解

    Mybatis中可以是用注解来替代xml文件编写sql,即省略了.xml文件,全部代码在接口中就可以完成。

    将注解写在接口上面,代替xml文件中的标签:

    常用的注解有:

    1)@Select:替代<select>标签 用来编写select查询语句

    查询单条数据:

    @Select("select id,name as studentName,classid,versionfrom h_student where id=#{id}") 
    Student2 selectByIds(Integer id);

    查询全部数据:

       //只写@Select,默认是返回类型为ResultType
        @Results(id="baseResultMap",value = {
                @Result(id = true,property = "id",column = "id"),
                @Result(property = "studentName",column = "name"),
                @Result(property = "classid",column = "classid"),
                @Result(property = "version",column = "version")
        })
        @Select("select * from h_student")
        List<Student2> selectAll();

    2)@insert:替代<insert>标签,用来编写insert语句

       //通过注解的方式编写插入 statement:编写selectKey的sql语句
        @SelectKey(keyProperty = "id",before = true,resultType = Integer.class,
                statement = "select seq_t_student.nextval from dual")
        @Insert("insert into h_student(id,name) values(#{id},#{studentName})")
        int insert(Student2 student2);

    3)@update:替代<update>标签,用来编写update语句

     @Update("update h_student set name=#{studentName} where id=#{id}")
     int update(Student2 student2);

    4)@delete:替代<delete>标签,用来编写delete语句

    @Delete("delete from h_student where id=#{id}")
    int delete(Integer id);

    5)@Results:替代<resultMap> 标签,定义结果集映射

    上面有;

    6)@Result:替代<result>标签,配置属性与列名的对应关系

    上面有;

    7)@SelectKey:替代<selectKey>标签,配置主键生成策略

    上面有;

    测试如下:

    System.out.println("===========测试插入============");
            //Student2 student2=new Student2();
            //student2.setStudentName("艾弗森");
            //int insert = mapper.insert(student2);
            //System.out.println(insert);
            System.out.println("==========测试查询===============");
            Student2 student21 = mapper.selectByIds(3);
            System.out.println(student21);
            System.out.println("===============测试查询所有=============");
            List<Student2> student2s = mapper.selectAll();
            System.out.println(student2s);
            System.out.println("==========测试删除==========");
            int delete = mapper.delete(1);
            System.out.println(delete);
            System.out.println("===========测试修改========");
            Student2 student2=new Student2();
            student2.setId(4);
            student2.setStudentName("杜兰特");
            int update = mapper.update(student2);
            System.out.println(update);
  • 相关阅读:
    手势识别 ios
    无题
    核心动画笔记
    Quartz2D的学习2
    Quartz2D的学习1
    NSURLsessionTask
    NSURLSession
    POST请求的两种方式
    网络第一天
    NSThread
  • 原文地址:https://www.cnblogs.com/xie-qi/p/12913437.html
Copyright © 2011-2022 走看看