MyBatis教程之六注解使用详解

来源:互联网 发布:qq号定位软件 编辑:程序博客网 时间:2024/05/22 12:49

MyBatis支持注解的使用,可以在接口中直接使用注解进行SQL的操作。

1、@Insert

编写insert语句,实现数据的新增

2、@Update

编写update语句,实现数据的修改

3、@Delete

编写delete语句,实现数据的删除

4、@Select

编写select语句,实现数据的查询

5、@Options

参数设置常用属性:keyPropertyuseGeneratedKeysstatementTypekeyColumntimeout

6、@ResultType

标记结果集的数据类型,Class<?>,等价于xml中的resulttype

7、@Results

标记结果集的数据类型,等价于xml中的<resultmap>

8、@Result

结果集的具体的数据对应常用属性:idpropertycolumnone:一对一或多对一many:集合,一对多javaType:对应的java中数据类型

9、@One

实现嵌套查询,一般用于一对一或多对一的关系中常用属性:selectfetchType:抓取策略取值:FetchType.EAGERFetchType.LAZYFetchType.EAGER

10、@Many

实现嵌套查询,一般用于一对多或多对多常用属性:selectfetchType:抓取策略取值:FetchType.EAGERFetchType.LAZYFetchType.EAGER

代码

接口中使用注解的代码:

//注解式实现MyBatispublic interface EmpMapper {    //新增数据    @Insert("insert into emp(name,address) values(#{name},#{address})")    @Options(keyProperty="id")//参数设置主要设置xml中标签中的属性    int save(Emp emp);    //修改    @Update("update emp set name=#{name},address=#{address} where id=#{id}")    int update(Emp emp);    //删除    @Delete("delete from emp where id=#{id}")    int delete(int id);    //查询    @Select("select * from emp")    @ResultType(Emp.class)//每行记录的数据类型    List<Emp> query();    //查询,属性和字段单独标记    @Select("select * from emp where id=#{id}")    @Results(value={            @Result(id=true,property="id", column="id"),            @Result(property="name",column="name"),            @Result(property="address",column="address")            })    Emp querySingle(int id);}