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);

 

posted @ 2020-05-18 22:29  等你的夏天  阅读(456)  评论(0编辑  收藏  举报