ssm MyBaits分词查询
时间: 2023-10-22 15:13:11 浏览: 100
基于SSM的教务查询系统java
使用 MyBatis 进行分词查询需要借助于分词器组件,比如 IK 分词器。以下是一个使用 IK 分词器进行分词查询的示例:
1. 在 MyBatis 的配置文件中添加如下配置:
```xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="helperDialect" value="mysql"/>
<property name="reasonable" value="true"/>
</plugin>
</plugins>
```
2. 在需要进行分词查询的语句中,使用 CONCAT_WS 函数将关键词进行拼接,然后使用 LIKE 进行模糊匹配。示例代码如下:
```xml
<select id="search" resultMap="BaseResultMap">
SELECT * FROM tb_product
WHERE CONCAT_WS(' ', name, description) LIKE CONCAT('%', #{keyword}, '%')
</select>
```
3. 在使用分词器进行查询时,需要将分词器加入到 MyBatis 的拦截器链中。示例代码如下:
```java
import com.github.pagehelper.PageHelper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import java.util.Properties;
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("dialect", "mysql");
pageHelper.setProperties(properties);
// 添加 IK 分词器插件
Interceptor interceptor = new IKSqlInterceptor();
Properties properties2 = new Properties();
interceptor.setProperties(properties2);
pageHelper.getInterceptors().add(interceptor);
return pageHelper;
}
}
```
以上就是使用 MyBatis 进行分词查询的基本步骤。需要注意的是,不同的分词器使用方法可能不同,具体要根据分词器的文档进行配置。
阅读全文