
Mybatis-plus 集成 PostgreSQL 数据库自增序列问题记录
id为空,未获取序列值:可能是KeyGenerator未正确配置。 多数据源配置:确保PostgreKeyGenerator已添加至SqlSessionFactory中。 添加PostgreKeyGenerator到SqlSessionFactory:
发布日期:2025-04-14 08:42:18
浏览次数:13
分类:精选文章
本文共 1486 字,大约阅读时间需要 4 分钟。
PostgreSQL 主键自增配置解决方案
1. 创建序列并绑定id
CREATE SEQUENCE biz_factory_seqSTART WITH 1INCREMENT BY 1NO MINVALUENO MAXVALUECACHE 1;
在数据库表中,id
字段的定义应如下:
"id" int4 NOT NULL DEFAULT nextval('biz_factory_seq'::regclass),
2. 实体设置KeySequence和TableId注解
确保在实体类中使用合适的注解:
@Id@KeySequence(value = "biz_factory_seq", dbType = DbType.POSTGRE_SQL)
3. 全局配置PostgreKeyGenerator
@EnableTransactionManagementpublic class DataSourceConfig { @Bean(name = "pgKeyGenerator") public PostgreKeyGenerator postgreKeyGenerator() { return new PostgreKeyGenerator(); } @Bean(name = "dbConfig") public GlobalConfig.DbConfig dbConfig() { GlobalConfig.DbConfig dbConfig = new GlobalConfig.DbConfig(); dbConfig.setKeyGenerator(postgreKeyGenerator()); return dbConfig; } @Bean(name = "globalConfig") public GlobalConfig globalConfig() { GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setDbConfig(dbConfig()); return globalConfig; }}
4. 配置完成后仍报错?以下是解决方法
常见问题:
解决方法:
GlobalConfig conf = new GlobalConfig();conf.setDbConfig(new GlobalConfig.DbConfig().setKeyGenerators(Arrays.asList(new PostgreKeyGenerator())));factoryBean.setGlobalConfig(conf);
- 确保插入前获取序列值:
// 获取序列下一个值Long id = keyGenerator.nextValue();// 插入数据bizFactory.set_id(id);
5. 总结
这个问题耗时较长,但坚持审视问题最终能够解决。全局审视和正确配置是关键,确保所有组件协同工作。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年05月12日 09时15分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MongoDB - 整合 SpringBoot 操作全流程
2025-04-14
MongoDB - 索引底层原理和使用,聚合的使用(案例 + 演示)
2025-04-14
MongoDB 3.0 增删改查及聚合操作,pymongo
2025-04-14
mongoDB 3.0 安全权限访问控制
2025-04-14
MongoDB change stream 详解
2025-04-14
mongodb linux安装
2025-04-14
MongoDB MapReduce使用
2025-04-14
MongoDB Replica Sets + Sharding 实战
2025-04-14
Mongodb sharding转换一个副本集为分片集群
2025-04-14
mongodb 与 c++ 的配合使用
2025-04-14
MongoDB 分片集群技术
2025-04-14
MongoDB 启动基于角色的登录认证功能
2025-04-14
mongodb 命令行操作
2025-04-14
mongodb 和 mongoose 初探
2025-04-14
mongodb 备份压缩_MongoDB实现备份压缩的方法教程 _ 蚂蚁视界
2025-04-14
MongoDB 安装配置
2025-04-14
MongoDB 对索引的创建查询修改删除 附代码
2025-04-14
MSSQL数据库日志满的快速解决办法
2025-04-14