1、给配置文件添加内置生成器
a、对application-sharding-database.properties配置文件
#id的主键生成器(配置之后就会采用系统内置的雪花算法)spring.shardingsphere.sharding.tables.position.key-generator.column=idspring.shardingsphere.sharding.tables.position.key-generator.type=SNOWFLAKE
b、 entity中的Position的id,要添加自助生成
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)  // 增加自助生成
private long id;
c、演示效果
        
2、自定义的生成器
a、创建一个类,实现ShardingKeyGenerator接口
package com.slin.id;
import org.apache.shardingsphere.core.strategy.keygen.SnowflakeShardingKeyGenerator;
import org.apache.shardingsphere.spi.keygen.ShardingKeyGenerator;
import java.util.Properties;
public class MyId implements ShardingKeyGenerator {
    // 借用雪花片算法来自定义自个的主键
    SnowflakeShardingKeyGenerator snow= new SnowflakeShardingKeyGenerator();
    /*返回生成的主键值*/
    public Comparable<?> generateKey() {
        System.out.println("执行了自定义逐渐生成器");
        return snow.generateKey();
    }
    /*获取类型,配置当中就是要配置这个名字*/
    public String getType() {
        return "LAGOUKEY";
    }
    public Properties getProperties() {
        return null;
    }
    public void setProperties(Properties properties) {
    }
}
b、创建META-INF/services文件夹,并添加文件
文件名是:org.apache.shardingsphere.spi.keygen.ShardingKeyGenerator
在文件里面追加包名.类名就可以了
c、修改为自定义的主键类型

d、测试效果
控制台打印了自定义信息,说明是调用了自定义的主键生成
打开一个表中的效果
总结:也就是创建自定义类、添加配置(启用SPI)、应用自定义类型。
