Mybatis连接Postgres报ERROR: relation "xxx表名" does not exist.解决方法

在使用Mybatis连接Postgres时遇到错误:ERROR: relation "xxx表名" does not exist。排查发现,问题在于在查询时需要指定表所属的schema(模式)。解决方案是在查询语句中加入模式名称,以正确引用表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在mybatis的mapper.xml中写入已经验证后的查询语句时报错如下:

org.postgresql.util.PSQLException: ERROR: relation "xxx_tablename" does not exist

首先,查询语句已经在数据库里查验过了,没有任何问题,数据库中也有这张表,为啥就是一直报这个错误呢?在网上搜了很久,大概的说法如下:
1.pg是需要区分大小写的,这个也对了,没有问题;
2.可能与原本数据库中自带的表冲突了,这个也排除了,表都是自己新建的,并且表名没有冲突;
3.表的键值和其他表存在依赖关系,这个也并没有。
各种说法的帖子都查了,但是并没有卵用。
后来才知道,py库查询时需要在表名前加模式名称,就是这张表属于哪个schema(模式),不然查询时可能找不到表。
到此问题解决,发现相同的错误不一定出于一个原因!

附录:
schema介绍
在数据库中,schema(中文叫模式)是数据库的组织和结构,schemas and schemata都可以作为复数形式。模式中包含了schema对象,可以是表(table)、列(column)、数据类型(data type)、视图(view)、存

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值