假設數據庫表中有一個字段is_deleted類型爲tinyint,0表示未刪除,1表示已刪除。java
實體類對應代碼以下:spring
public class User { @LogicDelete private Byte isDeleted; }
在執行dao.del(user);時會觸發UPDATE語句,將is_deleted字段更新爲1。sql
若是is_deleted類型爲char(1),f表示未刪除,t表示已刪除。數據庫
@LogicDelete(notDeleteValue = "f", deleteValue = "t") private String isDeleted;
@LogicDelete提供兩個屬性springboot
假設1表示未刪除,2表示已刪除,@LogicDelete的設置方法以下:@LogicDelete(notDeleteValue = 「1」, deleteValue = 「2」)。若是每一個實體類都要這樣設置的話會很麻煩,easymybatis提供了全局配置mybatis
# 未刪除數據庫保存的值,默認爲0 mybatis.logic-not-delete-value=1 # 刪除後數據庫保存的值,默認爲1 mybatis.logic-delete-value=2
<!-- 替換org.mybatis.spring.SqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="net.oschina.durcframework.easymybatis.ext.SqlSessionFactoryBeanExt"> <property name="dataSource" ref="dataSource" /> <property name="configLocation"> <value>classpath:mybatis/mybatisConfig.xml</value> </property> <property name="mapperLocations"> <list> <value>classpath:mybatis/mapper/*.xml</value> </list> </property> <!-- 如下是附加屬性 --> <!-- dao所在的包名,跟MapperScannerConfigurer的basePackage一致 多個用;隔開 --> <property name="basePackage" value="com.myapp.dao" /> <property name="config"> <bean class="net.oschina.durcframework.easymybatis.EasymybatisConfig"> <property name="logicNotDeleteValue" value="1"/> <property name="logicDeleteValue" value="2"/> </bean> </property> </bean>