6.6 主键策略说明
6.6.1 sqltoy默认的主键策略实现(可以自行扩展)

6.6.2 sqltoy支持以下主键策略
1、 sequence:数据库自身需要定义一个sequence名称,目前支持的数据库有oracle、postgresql、sqlserver等
* 在quickvo.xml中定义表的主键策略

* 产生的AbstractVO中@Id()注解体现sequence策略

2、 identity: identity策略sqltoy无需通过quickvo.xml中额外指定,会自动根据数据库判断出是否是identity。
3、 default:22位有序不重复数字:13位当前毫秒+6位纳秒+3位主机ID实现类:
org.sagacity.sqltoy.plugins.id.impl.DefaultIdGenerator
例如: 1592214184072221900219.
4、 nanotime:26位有序不重复数字,格式:15位:yyMMddHHmmssSSS+后6位纳秒+2位(线程Id+随机数)+3位主机ID
5、 snowflake:雪花算法16位有序不重复数字。
6、 UUID:32位UUID。
7、 redis:基于redis进行统一生成有序主键,一般用于有规则的主键生成,如订单号:年月日+几位流水。
* sqltoy使用redis生成主键需要定义RedisTemplate
* redis主键属于业务主键范畴,在quickvo.xml中定义方式

- 1.简介
- 开发历程
- 技术架构
- 问答了解
- 版本历史
- update-5.1.4、4.18.43
- update-5.1.2
- 早期历史
- 5.1.15.rc1
- 2.快速使用
- 示例与环境
- quickvo工具使用
- 用法说明
- 关键注意事项
- 严格VO(DTO)和POJO(entity)分层
- 3.教程
- spring项目搭建
- Toy-ORM 配置
- 详细配置参数
- 缓存功能
- 缓存配置、缓存扩展
- 扩展缓存框架配置
- 缓存翻译
- 其他缓存应用场景
- 公共功能
- 表(对象)关联
- 公共字段赋值
- 链式操作
- DTO与POJO互转
- 对象操作
- save + update
- delete + trunk
- load加载数据
- 唯一验证
- 树形数据
- sharding分库分表
- SQL操作
- sql文件规则
- filters说明
- 缓存翻译
- 分库分表
- 汇总、环比
- 行列转换
- 数据脱敏
- 格式化-数字日期
- sqlToy的sql查询基本规则
- Sql查询功能
- load操作
- get操作
- find操作
- 分页查询
- 并行查询
- execute操作
- executeSql
- executeStore
- 数据库特性
- 主键策略
- JSON等类型扩展支持
- 跨库说明--异种库兼容
- 数据库保留字处理
- 多源-多库-异库
- 多数据源
- Mongodb支持
- ElasticSearch支持
- 高级扩展
- 补充-if+fast+blank+value+loop
- 高级功能
- 完美sql
- 快速分页
- 缓存翻译
- 防止sql注入
- 字段加解密
- 扩展集成
