mybatis
Mybatis 中的 @Flush
注解表示在执行 SQL 语句之前自动提交 SQL 会话。通常,当你调用某个方法时,Mybatis 会创建一个 SqlSession 对象来执行查询或更新操作,并默认情况下不会自动提交事务,需要手动调用 session.commit() 方法来提交。但是,如果对于某些场景而言,我们希望在执行某个方法时,能够自动提交事务,这时候就可以使用 @Flush
注解。
例如,在使用 Mybatis 执行批处理操作时,我们可以在方法上添加 @Flush
注解,以便将所有批处理操作一次性提交到数据库中,提高整体执行效率。
@Flush
void batchInsert(List<User> userList);
需要注意的是,由于 @Flush
注解会自动提交事务,因此需要谨慎使用,确保操作不会对数据完整性造成破坏。
trim标签
select
HOUB.UNIT_ID as unitId,
HOUB.UNIT_CODE as unitCode,
HOUB.NAME as name,
mfepa.primary_flag as primaryFlag,
ifnull(HOUB.AGENT_FLAG,'N') as agentFlag
from HR_ORG_UNIT_B HOUB
left join MOA_FND_EMP_POST_ASSIGN mfepa on HOUB.unit_id = mfepa.unit_id
<trim prefix="WHERE" prefixOverrides="AND | OR">
and HOUB.status = 0
and mfepa.DISABLE_FLAG = 'N'
<if test="inputValue != null and inputValue != ''">
and (HOUB.NAME like concat(concat('',#{inputValue}),'%') or HOUB.UNIT_CODE like concat(concat('',#{inputValue}),'%') )
</if>
</trim>