From 4f0c8f7162a8588cba79759c6cd77cb2b07c2a1a Mon Sep 17 00:00:00 2001 From: lzh Date: Wed, 22 Apr 2026 14:00:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(video):=20Mapper=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E5=A4=9A=E6=95=B0=E6=8D=AE=E5=BA=93=E6=96=B9=E8=A8=80=E5=88=86?= =?UTF-8?q?=E6=94=AF=EF=BC=88=E4=BB=85=E4=BF=9D=E7=95=99=20MySQL=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WVP 原支持 MySQL / H2 / KingBase / PostgreSQL,使用 databaseId 属性 区分 SQL 方言,但本项目 MyBatis 未配置 databaseIdProvider,运行时 databaseId 为 null 导致 "Could not find a statement annotation that correspond a current database" 启动失败。 改动: - CommonGBChannelMapper.queryListInCircle / queryListInPolygon: 仅保留 queryListInCircleForMysql / queryListInPolygonForMysql 对应的 @SelectProvider,删除 h2/kingbase/postgresql 变体 - GroupMapper.updateParentId / updateParentIdWithBusinessGroup / fixParentId:仅保留 MySQL JOIN 语法,删除 3 种方言 UPDATE - RegionMapper.updateParentId:同上 项目固定使用 MySQL,这些方言变体在本仓库永远不会命中,删除后启动 不再需要依赖 databaseIdProvider 配置。 Co-Authored-By: Claude Opus 4.7 (1M context) --- .../gb28181/dao/CommonGBChannelMapper.java | 11 +-- .../module/video/gb28181/dao/GroupMapper.java | 80 +------------------ .../video/gb28181/dao/RegionMapper.java | 25 +----- 3 files changed, 7 insertions(+), 109 deletions(-) diff --git a/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/dao/CommonGBChannelMapper.java b/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/dao/CommonGBChannelMapper.java index 7e91efa9..32f453c0 100644 --- a/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/dao/CommonGBChannelMapper.java +++ b/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/dao/CommonGBChannelMapper.java @@ -641,17 +641,12 @@ public interface CommonGBChannelMapper extends BaseMapperX { @Param("minLatitude") Double minLatitude, @Param("maxLatitude") Double maxLatitude, @Param("level") Integer level, @Param("groupList") List groupList); - @SelectProvider(type = ChannelProvider.class, method = "queryListInCircleForMysql", databaseId = "mysql") - @SelectProvider(type = ChannelProvider.class, method = "queryListInCircleForMysql", databaseId = "h2") - @SelectProvider(type = ChannelProvider.class, method = "queryListInCircleForKingBase", databaseId = "kingbase") - @SelectProvider(type = ChannelProvider.class, method = "queryListInCircleForKingBase", databaseId = "postgresql") + // 仅支持 MySQL(项目未配置 databaseIdProvider,移除 H2/KingBase/PostgreSQL 变体) + @SelectProvider(type = ChannelProvider.class, method = "queryListInCircleForMysql") List queryListInCircle(@Param("centerLongitude") Double centerLongitude, @Param("centerLatitude") Double centerLatitude, @Param("radius") Double radius, @Param("level") Integer level, @Param("groupList") List groupList); - @SelectProvider(type = ChannelProvider.class, method = "queryListInPolygonForMysql", databaseId = "mysql") - @SelectProvider(type = ChannelProvider.class, method = "queryListInPolygonForMysql", databaseId = "h2") - @SelectProvider(type = ChannelProvider.class, method = "queryListInPolygonForKingBase", databaseId = "kingbase") - @SelectProvider(type = ChannelProvider.class, method = "queryListInPolygonForKingBase", databaseId = "postgresql") + @SelectProvider(type = ChannelProvider.class, method = "queryListInPolygonForMysql") List queryListInPolygon(@Param("pointList") List pointList, @Param("level") Integer level, @Param("groupList") List groupList); @SelectProvider(type = ChannelProvider.class, method = "queryListForSyMobile") diff --git a/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/dao/GroupMapper.java b/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/dao/GroupMapper.java index ce93c7c8..cdc38984 100644 --- a/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/dao/GroupMapper.java +++ b/viewsh-module-video/viewsh-module-video-server/src/main/java/com/viewsh/module/video/gb28181/dao/GroupMapper.java @@ -217,30 +217,7 @@ public interface GroupMapper extends BaseMapperX { " set w1.parent_id = w2.id" + " where w1.id in " + " #{item.id}" + - " ", databaseId = "mysql") - @Update(value = " ", databaseId = "h2") - @Update( value = " ", databaseId = "postgresql") - @Update( value = " ", databaseId = "kingbase") + " ") void updateParentId(List groupListForAdd); @Update(value = " ", databaseId = "mysql") - @Update(value = " ", databaseId = "h2") - @Update( value = " ", databaseId = "kingbase") - @Update( value = " ", databaseId = "postgresql") + " ") void updateParentIdWithBusinessGroup(List groupListForAdd); @Select(" ", databaseId = "mysql") - @Update(value = " ", databaseId = "h2") - @Update( value = " ", databaseId = "kingbase") - @Update( value = " ", databaseId = "postgresql") + " ") void updateParentId(List regionListForAdd); @Update("