MyBatis的@Options注解使用介绍
在MyBatis中,注解的目的是为了取代XML文件的配置项,而@Options注解的作用是设置如下几项:
1、useCache,是否使用缓存,默认是true
2、fetchSize,获取记录数的限度,默认是-1,没有条数限制
3、timeout,设置超时时间,默认是-1,没有时间限制
4、useGeneratedKeys,是否自动生成注解,默认是false。
5、keyProperty,数据行主键所对应的映射对象的属性,默认是id属性。
当然,还有其他几项,在此不再赘述,@Options注解使用十分简单,我们可以通过阅读它的源码就知道它的用法,源码如下所示:
@Target(ElementType.METHOD)
public @interface Options
{
public enum FlushCachePolicy
{
DEFAULT,
TRUE,
FALSE
}
boolean useCache() default true;
FlushCachePolicy flushCache() default FlushCachePolicy.DEFAULT;
ResultSetType resultSetType() default ResultSetType.FORWARD_ONLY;
StatementType statementType() default StatementType.PREPARED;
int fetchSize() default -1;
int timeout() default -1;
boolean useGeneratedKeys() default false;
String keyProperty() default "id";
String keyColumn() default "";
String resultSets() default "";
}
@Options注解的例子
@Options(useGeneratedKeys = true, keyProperty = "studentId", keyColumn = "id")
int addStudent(Student student);
说明:在数据库的student表中,主键名为id,可对应Student映射类中studentId属性,因此我们需要将keyProperty和keyColumn设置成studentId和id。