MyBatis的@Options注解能够设置缓存时间,能够为对象生成自增的主键值,一般应用于两种场景,今天小博老师就跟大家介绍下@Options注解如何在查询数据和插入数据时使用。
场景一:首先先学习下在查询数据的情况下的应用场景。
配合查询语句使用,主要是开关一些查询的选项。比如useCache = true表示将会缓存本次查询结果,以提高下次查询速度;flushCache = Options.FlushCachePolicy.FALSE表示查询时不刷新缓存;timeout = 10000表示查询结果缓存10000秒。
场景二:再来看一下在插入数据时的应用场景。
Gendar表有一个gendarId自增长主键,如何在插入数据后自动获取到该主键值呢?可以使用@Options注解:
设置@Options属性userGeneratedKeys的值为true,并指定实例对象中主键的属性名keyProperty以及在数据库中的字段名keyColumn。这样在gendar插入数据后,gendarId属性会被自动赋值。
当然flushCache 仍然可以设置,表示插入数据后是否更新缓存,默认是true。