使用mysql 的全文检索
1. 创建表,以及对应的索引
CREATE TABLE `name_info` (
  `id` bigint unsigned NOT NULL COMMENT 'id',
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '名称',
  FULLTEXT KEY `name_full_text_index` (`name`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='表';
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
2. 使用 MATCH … AGAINST 关键字
<select id="selectFullText" resultMap="ResultMap">
        select * from `name_info` WHERE MATCH (name) AGAINST (#{name})
 </select>
  • 1.
  • 2.
  • 3.
3.注意事项

全文索引:要使用 MATCH ... AGAINST,您必须确保 name 列已经有一个全文索引。您可以使用类似 ALTER TABLE your_table_name ADD FULLTEXT(name); 的 SQL 语句来添加全文索引。