Mybatis Plusの改ページと楽観ロックの使い方
7079 ワード
縁起
先日、私はmybatisを使っています.ここに高級な使い方を記録して、後で調べて、更新し続けます.
改ページと楽観ロック
改ページ
設定ファイルに下の配置を追加して、下の配置を加えずにそのままselectPageを使用すると、改ページ効果もありますが、これは本当のmysqlではなく、LIMITの改ページを使って、データ量が大きい時にメモリが溢れてしまうので、このような方法は好ましくないです.
楽観的なロックを使用するには、上記の構成に加えて、楽観的なロックを使用する表と裏にversionフィールドを追加して、デフォルト値を1に設定することができます.対応するエンティティであるリガ上のversion属性は、version属性にmybatis-plusの@Verssion注を必ず加えてください.そうでないと有効になりません.
先日、私はmybatisを使っています.ここに高級な使い方を記録して、後で調べて、更新し続けます.
改ページと楽観ロック
改ページ
設定ファイルに下の配置を追加して、下の配置を加えずにそのままselectPageを使用すると、改ページ効果もありますが、これは本当のmysqlではなく、LIMITの改ページを使って、データ量が大きい時にメモリが溢れてしまうので、このような方法は好ましくないです.
<bean id="sessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="plugins">
<array>
<bean id="paginationInterceptor" class="com.baomidou.mybatisplus.plugins.PaginationInterceptor"/>
<bean id="optimisticLockerInterceptor"
class="com.baomidou.mybatisplus.plugins.OptimisticLockerInterceptor"/>
<bean id="performanceInterceptor" class="com.baomidou.mybatisplus.plugins.PerformanceInterceptor"/>
array>
property>
bean>
楽観ロック楽観的なロックを使用するには、上記の構成に加えて、楽観的なロックを使用する表と裏にversionフィールドを追加して、デフォルト値を1に設定することができます.対応するエンティティであるリガ上のversion属性は、version属性にmybatis-plusの@Verssion注を必ず加えてください.そうでないと有効になりません.
@Version
private Integer version;
検証UserEntity userEntity = userServiceI.selectById(1);
userEntity.setId(1);
userEntity.setName("upd");
userServiceI.updateById(userEntity);
生成されたSQLUPDATE T_USER SET userName=?, `password`=?, `name`=?, version=? WHERE id=? and version=?
公式教程:https://mp.baomidou.com/guide/optimistic-locker-plugin.html#%E4%B8%BB%E8%A6%81%E9%80%82%E7%94%A8%E5%9C%BA%E6%99%AF