博为峰JavaEE技术文章 ——MyBatis @Options使用方法

时间:2021-10-06 20:26:28

MyBatis@Options注解能够设置缓存时间,能够为对象生成自增的主键值,一般应用于两种场景,今天小博老师就跟大家介绍下@Options注解如何在查询数据和插入数据时使用。

场景一:首先先学习下在查询数据的情况下的应用场景。

博为峰JavaEE技术文章 ——MyBatis @Options使用方法

配合查询语句使用,主要是开关一些查询的选项。比如useCache = true表示将会缓存本次查询结果,以提高下次查询速度;flushCache = Options.FlushCachePolicy.FALSE表示查询时不刷新缓存;timeout = 10000表示查询结果缓存10000秒。

场景二:再来看一下在插入数据时的应用场景。

Gendar表有一个gendarId自增长主键,如何在插入数据后自动获取到该主键值呢?可以使用@Options注解:

博为峰JavaEE技术文章 ——MyBatis @Options使用方法

设置@Options属性userGeneratedKeys的值为true,并指定实例对象中主键的属性名keyProperty以及在数据库中的字段名keyColumn。这样在gendar插入数据后,gendarId属性会被自动赋值。

当然flushCache 仍然可以设置,表示插入数据后是否更新缓存,默认是true。