之前文章介绍了MyBatis的基本用法、关联映射、动态SQL和缓存机制等知识,其所有的配置都是使用XML完成,但是大量的XML配置文件的编写是非常繁琐的,因此MyBatis也提供了更加简便的基于注解( annotation)的配置方式。本文将重点介绍MyBatis的注解配置, MyBatis的注解位于org.apache.ibatis.annotations包下。常用Annotation注解有:

Select。映射查询的SQL语句。
SelectProvider。 Select语句的动态SQL映射。允许指定一个类名和一个方法在执行时返回运行的查询语句。有两个属性: type 和method,type属性是类的完全限定名,method是该类中的那个方法名。
Insert。映射插入的SQL语句。
InsertProvider。Insert语句的动态SQL映射。允许指定一个类名和一个方法在执行时返回运行的插入语句。有两个属性: type和method,type属性是类的完全限定名,method是该类中的那个方法名。
Update。映射更新的SQL语句。
UpdateProvider。 Update语句的动态SQL映射。允许指定一个类名和一个方法在执行时返回运行的更新语句。有两个属性: type 和method,type 属性是类的完全限定名,method是该类中的那个方法名。
Delete。映射删除的SQL语句。
DeleteProvider。Delete 语句的动态SQL映射。允许指定一个类名和一个方法在执行时返回运行的删除语句。有两个属性: type 和method,type 属性是类的完全限定名,method是该类中的那个方法名。
Result。在列和属性之间的单独结果映射。属性包括: id、column、property、javaType、jabcType、type、Hander、one、many。id属性是一个布尔值,表示是否被用于主键映射。one属性是单独的联系,和XML配置中的<association>相似,而many属性是对集合而言的,和XML配置的collection>相似。
Results。多个结果映射(Result) 列表。
Options。 提供配置选项的附加值,它们通常在映射语句上作为附加功能配置出现。
One。复杂类型的单独属性值映射。必须指定select属性,表示已映射的SQL语句的完全限定名。
Many。复杂类型的集合属性映射。必须指定select属性,表示已映射的SQL语句的完全限定名。
Param。当映射器方法需要多个参数时,这个注解可以被应用于映射器方法参数来给每个参数取一个名字。否则,多参数将会以它们的顺序位置和SQL语句中的表达式进行映射,这是默认的。使用@Param("id"),SQL中参数应该被命名为#{id}。

标签: none

添加新评论