AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
6.6 主键策略说明 6.6.1 sqltoy默认的主键策略实现(可以自行扩展) ![](https://img.kancloud.cn/1c/9f/1c9fd99bdf1b39f1715c911e43ad78d1_471x492.png) 6.6.2 sqltoy支持以下主键策略 1、 sequence:数据库自身需要定义一个sequence名称,目前支持的数据库有oracle、postgresql、sqlserver等 * 在quickvo.xml中定义表的主键策略 ![](https://img.kancloud.cn/ce/c0/cec0c9a1febe0002f3f20a6db5873534_1017x71.png) * 产生的AbstractVO中@Id()注解体现sequence策略 ![](https://img.kancloud.cn/f4/e8/f4e824db717564ef99b3c70be14742c6_695x141.png) 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中定义方式 ![](https://img.kancloud.cn/6f/05/6f057b962f7a9056e41737d892d3cd5e_1116x306.png)