An extension of mybatis using dynamic executor bound with current thread to solve 'can not change ExecutorType in the same transaction' for mybatis-spring project