六、MyBatis教程之六注解使用详解

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

1、@Insert

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

2、@Update

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

3、@Delete

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

4、@Select

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

5、@Options

参数设置

常用属性:

keyProperty

useGeneratedKeys

statementType

keyColumn

timeOut

6、ResultType

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

7、@Results

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

8、@Result

结果集的具体的数据对应

常用属性:

id

property

column

one:一对一或多对一

many:集合,一对多

javaType:对应的java中数据类型

9、@One

实现嵌套查询,一般用于一对一或多对一的关系中

常用属性:

select

fetchType:抓取策略

取值:

FetchType.EAGER

FetchType.LAZY

FetchType.EAGER

10、@Many

实现嵌套查询,一般用于一对多或多对多

常用属性:

select

fetchType:抓取策略

取值:

FetchType.EAGER

FetchType.LAZY

FetchType.EAGER

代码:

接口中使用注解的代码:

//注解式实现MyBatis

public 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 wher id=#{id}”)

         @Results(value={

                            @Result(id=true,property=”id”,column=”id”),

                            @Result(property=”name”,cplumn=”name”),

                            @Result(property=”address”,column=”address”)

})

Emp querySingle(int id);

}
注解式实现MyBatis
原文地址:https://www.cnblogs.com/arrows/p/10370221.html