在 MyBatis 中,你可以通過配置文件或者 Java 代碼的方式來配置攔截器(Interceptor)。下面是兩種配置方式的詳細說明:
在 MyBatis 的主配置文件(通常是 mybatis-config.xml
)中,你可以添加一個
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>
<!-- ... 其他配置 ... -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="helperDialect" value="mysql"/>
<property name="reasonable" value="true"/>
<property name="supportMethodsArguments" value="true"/>
<property name="params" value="count=countSql"/>
</plugin>
</plugins>
<!-- ... 其他配置 ... -->
</configuration>
如果你使用的是 Java 配置,而不是 XML 配置文件,那么你可以在你的 Java 配置類中添加攔截器。例如,如果你使用 Spring Boot 集成 MyBatis,你可以在你的配置類中添加以下代碼:
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.pagehelper.PageInterceptor;
@Configuration
@MapperScan("your.mapper.package")
public class MyBatisConfig {
@Bean
public PageInterceptor pageInterceptor() {
PageInterceptor pageInterceptor = new PageInterceptor();
Properties properties = new Properties();
properties.setProperty("helperDialect", "mysql");
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("params", "count=countSql");
pageInterceptor.setProperties(properties);
return pageInterceptor;
}
}
這樣,你就成功地在 MyBatis 中配置了攔截器。請注意,上述示例中使用的攔截器是 PageHelper,你需要根據你的實際需求選擇合適的攔截器。