转自 https://github.com/WhiteDG/mybatis-crypto/issues/17#issuecomment-1951998793 可以试试修改 PageHelper 插件的注入方式,这样不需要修改大量代码。 先排除掉 @SpringBootApplication(exclude = {PageHelperAutoConfiguration.class}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 然后用 import com.github.pagehelper.PageInterceptor; import com.github.pagehelper.autoconfigure.PageHelperProperties; import org.apache.ibatis.session.Configuration; import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer; import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import java.util.Properties; @org.springframework.context.annotation.Configuration @EnableConfigurationProperties({PageHelperProperties.class}) @AutoConfigureAfter({MybatisAutoConfiguration.class}) public class PageHelperAutoConfiguration { @Autowired private PageHelperProperties properties; @Bean @ConfigurationProperties(prefix = PageHelperProperties.PAGEHELPER_PREFIX) public Properties pageHelperProperties() { return new Properties(); } @Bean public ConfigurationCustomizer configurationCustomizer() { PageInterceptor interceptor = new PageInterceptor(); Properties properties = new Properties(); //先把一般方式配置的属性放进去 properties.putAll(pageHelperProperties()); //在把特殊配置放进去,由于close-conn 利用上面方式时,属性名就是 close-conn 而不是 closeConn,所以需要额外的一步 properties.putAll(this.properties.getProperties()); interceptor.setProperties(properties); return new ConfigurationCustomizer() { @Override public void customize(Configuration configuration) { configuration.addInterceptor(interceptor); } }; } } |
👍1