MyBatis 不会声明数据库的索引,数据库的索引是在数据库设计的时候就需要声明的。
MyBatis 是面向 Java 的持久层框架,它负责操作数据库的值对象(Value Object)和数据库记录之间的映射。
具体来说,数据库的索引需要在数据库设计或表设计时声明:
- 在设计表结构时,通过SQL的 CREATE INDEX 语句创建索引。
CREATE UNIQUE INDEX index_name
ON table_name (column_name);
- 使用数据库设计工具,在表字段上设计唯一索引。
- 将字段声明为唯一约束,数据库会自动创建唯一索引。
CREATE TABLE table_name (
id INT PRIMARY KEY,
name VARCHAR(30) UNIQUE
);
所以,MyBatis 不会也不应该声明数据库的索引。
唯一索引和主键的区别:
- 主键是唯一的、不允许为空,同时自动作为 clustering index。
- 唯一索引只要求字段的值是唯一的,允许为空。它只是一个非聚集索引。