- @Options 用于配合 SQL 注解设置字段的属性,例如主键,超时时间等
参数 |
描述 |
useCache |
是否使用二级缓存 |
flushCache |
设置刷新二级缓存机制 Options.FlushCachePolicy.DEFAULT 表示查询时使用默认策略刷新缓存 Options.FlushCachePolicy.FALSE 表示查询时不刷新缓存 Options.FlushCachePolicy.TRUE 表示查询时刷新缓存 |
resultSetType |
指定resultSet数据集合的类型 |
statementType |
设置编译的方式
直接操作sql,不进行预编译,获取数据
预处理,参数,进行预编译,获取数据,默认
|
fetchSize |
设置每次查询的最大数据条数 |
timeout |
设置超时时间 |
useGeneratedKeys |
是否根据主键自增 |
keyProperty |
实体类中主键的名称 |
keyColumn |
数据库中的主键字段名 注 keyColumn属性只在某些数据库中有效(如 Oracle、PostgreSQL 等) |
resultSets |
指定resultSet集合数据 |
databaseId |
MyBatis 3.5.5以上可用, 如果有一个配置好的 DatabaseIdProvider, MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。如果同时存在带 databaseId 和不带 databaseId 属性的相同语句,则后者会被舍弃。 |
示例
public interface PersonMapper {
@Options( useGeneratedKeys=true, keyProperty="id", keyColumn="id" )
@Insert("insert into person (id, name, age) values(#{id}, #{name}, #{age}")
public Person add(Person person);
}
注
@Options 只能搭配 Insert 语句使用。