当前位置: 首页 > news >正文

mybatis/mybatis-plus中mysql报错

文章目录

  • 一、sql执行正常,mybatis报错
  • 二、sql执行正常,mybatis-plus报错
    • 直接改变字段
    • 利用mybatis-plus特性处理
  • 总结


一、sql执行正常,mybatis报错

Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "ur" <K_ISOLATION>at line 26, column 34.Was expecting one of:"ACTION""ACTIVE""ALGORITHM""ARCHIVE""ARRAY""AT""BYTE""CASCADE""CASE""CAST""CHANGE""CHAR""CHARACTER""CHECKPOINT""COLUMN""COLUMNS""COMMENT""COMMIT""COSTS""CYCLE""DBA_RECYCLEBIN""DEFAULT""DESC""DESCRIBE""DISABLE""DISCONNECT""DIV""DO""DUMP""DUPLICATE""ENABLE""END""EXCLUDE""EXTRACT""FALSE""FILTER""FIRST""FLUSH""FN""FOLLOWING""FORMAT""FULLTEXT""HISTORY""INDEX""INSERT""INTERVAL""ISNULL""JSON""KEY""LAST""LEADING""LINK""LOCAL""LOG""MATERIALIZED""NO""NOLOCK""NULLS""OF""OPEN""OVER""PARALLEL""PARTITION""PATH""PERCENT""PRECISION""PRIMARY""PRIOR""QUERY""QUIESCE""RANGE""READ""RECYCLEBIN""REGISTER""REPLACE""RESTRICTED""RESUME""ROW""ROWS""SCHEMA""SEPARATOR""SEQUENCE""SESSION""SHUTDOWN""SIBLINGS""SIGNED""SIZE""SKIP""SUSPEND""SWITCH""SYNONYM""SYSTEM""TABLE""TABLESPACE""TEMP""TEMPORARY""TIMEOUT""TO""TOP""TRUE""TRUNCATE""TRY_CAST""TYPE""UNQIESCE""UNSIGNED""USER""VALIDATE""VALUE""VALUES""VIEW""XML""ZONE"<K_DATETIMELITERAL><K_DATE_LITERAL><K_NEXTVAL><K_STRING_FUNCTION_NAME><S_CHAR_LITERAL><S_IDENTIFIER><S_QUOTED_IDENTIFIER>at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:31468)at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:31301)at net.sf.jsqlparser.parser.CCJSqlParser.Alias(CCJSqlParser.java:6654)at net.sf.jsqlparser.parser.CCJSqlParser.FromItem(CCJSqlParser.java:8291)at net.sf.jsqlparser.parser.CCJSqlParser.JoinerExpression(CCJSqlParser.java:8822)at net.sf.jsqlparser.parser.CCJSqlParser.JoinsList(CCJSqlParser.java:8641)at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:5652)at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:5867)at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:5516)at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:5511)at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:232)at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:153)at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:188)at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:63)at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:38)

其实这个报错就是因为在xml中自定义sql语句中使用了一些mybatis 保留的字符串, 我用了 ur ,这个字符串作为了一个表的别名,换一个就好了,可以从上述日志中看到,还有很多其他的保留字符串
保留字符串
这些都是

二、sql执行正常,mybatis-plus报错

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CUBE FROM table_user' at line 1

其中执行的sql语句中,有一个字段为CUBE,此为mysql中的保留关键字,编写mysql语句,可以通过增加 重音符 ` 包裹起来解决这个问题;但我此时用的是mybatis-plus,它是自动拼接的没有给我手动拼接重音符的机会,如何处理呢?

直接改变字段

这个table_user表中的这个字段cube 的名字就不该用,直接改掉就行,改成cube_name,或者其他的;

利用mybatis-plus特性处理

假如这个字段已经用在了很多地方,改字段的方式影响很大,那么我们还有一个补救措施;
例如: table_user的实体如下:

@TableName("table_user")
public class User {private String userId;private String userName;@TableField("`cube`")private String cube;	
}

就是在原本的字段你上,增加 @TableField("cube"),让他在拼接sql的时候,自动增加这个重音符,这样就不用改变这个字段了。


总结

在表设计的时候,应该综合考量后续扩展性,见名知意的字段特性,以及避免使用mysql的保留关键字,这样能减少不必要的错误

相关文章:

mybatis/mybatis-plus中mysql报错

文章目录 一、sql执行正常,mybatis报错二、sql执行正常,mybatis-plus报错直接改变字段利用mybatis-plus特性处理 总结 一、sql执行正常,mybatis报错 Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "ur" <K_ISOLATION>a…...

在ros2 jazzy和gazebo harmonic下的建图导航(cartographer和navigation)实现(基本)

我的github分支&#xff01;&#xff01;&#xff01; 你可以在这里找到相对应的源码。 DWDROME的MOGI分支 来源于&#xff01;&#xff01; MOGI-ROS/Week-3-4-Gazebo-basics 学习分支整理日志 分支概述 这是一个用于个人学习的新分支&#xff0c;目的是扩展基本模型并添加…...

《Rust权威指南》学习笔记(五)

高级特性 1.在Rust中&#xff0c;unsafe是一种允许绕过Rust的安全性保证的机制&#xff0c;用于执行一些Rust默认情况下不允许的操作。unsafe存在的原因是&#xff1a;unsafe 允许执行某些可能被 Rust 的安全性检查阻止的操作&#xff0c;从而可以进行性能优化&#xff0c;如手…...

GitHub的简单操作

引言 今天开始就要开始做项目了&#xff0c;上午是要把git搭好。搭的过程中遇到好多好多的问题。下面就说一下git的简单操作流程。我们是使用的GitHub,下面也就以这个为例了 一、GitHub账号的登录注册 https://github.com/ 通过这个网址可以来到GitHub首页 点击中间绿色的S…...

「Mac畅玩鸿蒙与硬件54」UI互动应用篇31 - 滑动解锁屏幕功能

本篇教程将实现滑动解锁屏幕功能&#xff0c;通过 Slider 组件实现滑动操作&#xff0c;学习事件监听、状态更新和交互逻辑的实现方法。 关键词 滑动解锁UI交互状态管理动态更新事件监听 一、功能说明 滑动解锁屏幕功能包含以下功能&#xff1a; 滑动解锁区域&#xff1a;用…...

SMMU软件指南之系统架构考虑

安全之安全(security)博客目录导读 目录 5.1 I/O 一致性 5.2 客户端设备 5.2.1 地址大小 5.2.2 缓存 5.3 PCIe 注意事项 5.3.1 点对点通信 5.3.2 No_snoop 5.3.3 ATS 5.4 StreamID 分配 5.5 MSI 本博客介绍与 SMMU 相关的一些系统架构注意事项。 5.1 I/O 一致性 如…...

使用高云小蜜蜂GW1N-2实现MIPI到LVDS(DVP)转换案例分享

作者&#xff1a;Hello&#xff0c;Panda 大家晚上好&#xff0c;熊猫君又来了。 今天要分享的是一个简单的MIPI到LVDS&#xff08;DVP&#xff09;接口转换的案例。目的就是要把低成本FPGA的应用潜力充分利用起来。 一、应用背景 这个案例的应用背景是&#xff1a;现在还在…...

「C++笔记」unordered_map:哈希化的无序映射函数(键值对)

unordered_map 是 C 中一个经过哈希函数&#xff08;Hash&#xff09;处理的映射&#xff08;map&#xff09;容器。 本文中的map和set是差不多的&#xff0c;unordered_map与unordered_set也是对应的。所以不再单独写一篇了。 这里的内容建议看完本文之后再回过头来看 二者虽然…...

Linux 安装jdk

1、官网下载jdk https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html2、以tar包为例&#xff0c;在window或者Linux解压都可以&#xff0c;这里直接在win解压了&#xff0c;上传到服务器 3、在/usr/local/ 创建jdk目录&#xff0c;将jdk上传到…...

asp.net core 发布到iis后,一直500.19,IIS设置没问题,安装了sdk,文件夹权限都有,还是报错

原因就是没有安装ASP.NET Core 9.0 Runtime (v9.0.0) - Windows Hosting Bundle&#xff0c;我是只安装了.net core的sdk&#xff0c;下面介绍下sdk和hosting bundle的关系 在 .NET Core 和 ASP.NET Core 的开发中&#xff0c;SDK&#xff08;Software Development Kit&#x…...

【Go】运行自己的第一个Go程序

运行自己的第一个Go程序 一、Go语言的安装Go环境安装查看是否安装成功配置GOPROXY(代理) 二、Goland安装三、Goland破解四、新建项目 开一篇专栏记录学习Go的过程&#xff0c;一门新语言从hello world开始&#xff0c;这篇文章详细讲解Go语言环境搭建及hello world实现 一、Go语…...

qt qss文件的使用

qt样式的修改方式 一 通过ui界面的改变样式表来直接修改显示效果。 不推荐&#xff0c;其他人不好修改&#xff0c;不够直观&#xff0c;不易维护。 二 通过setStyleSheet接口修改。 一般&#xff0c;界面很少的时候可以使用。一旦界面多起来&#xff0c;代码部分就显得杂乱…...

【管道——二分+区间合并】

题目 思路 区间合并 1、按照左端点排序2、遍历窗口&#xff0c;若窗口非法&#xff0c;继续遍历&#xff1b;否则执行33、若是第一个窗口&#xff0c;设定合并结果初值&#xff0c;判断结果左端点是否造成“起点过大”&#xff0c;是&#xff0c;FALSE退出&#xff1b;否则执行…...

宽带、光猫、路由器、WiFi、光纤之间的关系

1、宽带&#xff08;Broadband&#xff09; 1.1 宽带的定义宽带指的是一种高速互联网接入技术&#xff0c;通常包括ADSL、光纤、4G/5G等不同类型的接入方式。宽带的关键特点是能够提供较高的数据传输速率&#xff0c;使得用户可以享受到稳定的上网体验。 1.2 宽带的作用宽带是…...

如何排查 Apache Doris 中 “Failed to commit txn“ 导入失败问题?

今天来聊聊 Doris 数据导入那些事儿。你是不是在数据导入的时候遇到各种状况&#xff0c;让人头疼不已&#xff1f;别担心&#xff0c;这篇文章给你答案&#xff01; 在 Doris 的版本里&#xff0c;< 2.0.3 的时候&#xff0c;数据迁移存在一些已知的问题&#xff0c;比如可…...

回归预测 | MATLAB实现CNN-GRU卷积门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现CNN-GRU卷积门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-GRU卷积门控循环单元多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现CNN-GRU卷积门控循环单元多输入单输出回归预测 数据准备&#x…...

HCIA-Access V2.5_7_3_XG(S)原理_关键技术

为什么需要测距 因为上行链路只有一根纤,而且每一个ONU到OLT的距离是不一样的,虽然上行通过TDMA技术,让每一个ONU在不同的时间段发送数据,但是仍然有可能在同一时刻到达分光器,产生数据冲突。 有测距的信元传输 所以为了避免碰撞冲突,通过ONU在注册的时候就会启动测距…...

leetcode hot 100 不同路径

62. 不同路径 已解答 中等 相关标签 相关企业 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09…...

智慧工地解决方案 1

建设背景与挑战 工地施工现场环境复杂&#xff0c;人员管理难度大&#xff0c;多工种交叉作业导致管理混乱&#xff0c;事故频发。传统管理方式难以实现科学、有效、集中式的管理&#xff0c;特别是在环境复杂、地点分散的情况下&#xff0c;监管困难&#xff0c;取证复杂。施…...

LeetCode -Hot100 - 53. 最大子数组和

前言 本专栏主要通过“LeetCode 热题100”&#xff0c;来捡起自己本科阶段的算法知识与技巧。语言主要使用c/java。如果同样正在练习LeetCode 热题100的朋友欢迎关注或订阅本专栏。有疑问欢迎留言交流~ 题目描述 题目链接 示例 1&#xff1a; 输入&#xff1a;nums [-2,1…...

告别拼接!深入对比鸿蒙与Android的multipart请求封装差异

鸿蒙与Android的multipart请求封装差异&#xff1a;从手动拼接到底层优化 在移动应用开发中&#xff0c;文件上传是一个常见但容易出错的场景。当我们需要同时上传文本和二进制数据时&#xff0c;multipart/form-data协议就成为了标准解决方案。然而&#xff0c;不同平台对这一…...

5种视频场景检测技术深度对比:如何为不同应用场景选择最佳算法

5种视频场景检测技术深度对比&#xff1a;如何为不同应用场景选择最佳算法 【免费下载链接】PySceneDetect :movie_camera: Python and OpenCV-based scene cut/transition detection program & library. 项目地址: https://gitcode.com/gh_mirrors/py/PySceneDetect …...

Qwen3-4B-Instruct-2507问题解决:部署中常见的5个错误及快速修复方法

Qwen3-4B-Instruct-2507问题解决&#xff1a;部署中常见的5个错误及快速修复方法 1. 部署准备与环境检查 在开始部署Qwen3-4B-Instruct-2507模型之前&#xff0c;确保您的环境满足以下基本要求&#xff1a; 硬件配置&#xff1a;推荐使用NVIDIA 4090D显卡&#xff08;24GB显…...

如何在macOS上免费获得专业级音质:eqMac终极音频均衡器指南

如何在macOS上免费获得专业级音质&#xff1a;eqMac终极音频均衡器指南 【免费下载链接】eqMac macOS System-wide Audio Equalizer & Volume Mixer &#x1f3a7; 项目地址: https://gitcode.com/gh_mirrors/eq/eqMac 想让你的MacBook或iMac音质瞬间提升到专业水准…...

OpenClaw技能商店:分享自定义nanobot模块开发经验

OpenClaw技能商店&#xff1a;分享自定义nanobot模块开发经验 1. 为什么需要自定义技能模块 去年夏天&#xff0c;当我第一次接触OpenClaw时&#xff0c;就被它的自动化能力所吸引。但很快我发现&#xff0c;官方提供的标准技能虽然强大&#xff0c;却无法完全满足我的个性化…...

短视频创作者必备:Qwen3本地字幕生成工具,5步快速上手

短视频创作者必备&#xff1a;Qwen3本地字幕生成工具&#xff0c;5步快速上手 1. 引言&#xff1a;为什么需要本地字幕生成工具 作为短视频创作者&#xff0c;你是否经常遇到这样的困扰&#xff1a;剪辑完视频后&#xff0c;手动添加字幕耗时费力&#xff1b;使用在线工具又担…...

手把手教学:如何在本地运行ChatGLM3-6B对话模型

手把手教学&#xff1a;如何在本地运行ChatGLM3-6B对话模型 1. 项目简介 你是否曾经遇到过这样的情况&#xff1a;想用AI助手帮忙写代码、分析文档或者只是聊聊天&#xff0c;但云端服务要么响应慢&#xff0c;要么担心隐私泄露&#xff1f;今天我要介绍的ChatGLM3-6B本地部署…...

开源大模型部署新范式:像素幻梦Streamlit前端+diffusers后端架构解析

开源大模型部署新范式&#xff1a;像素幻梦Streamlit前端diffusers后端架构解析 1. 项目概览 像素幻梦(Pixel Dream Workshop)是一款基于FLUX.1-dev扩散模型的像素艺术生成工具&#xff0c;它重新定义了AI艺术创作的用户体验。与传统AI绘图工具不同&#xff0c;它采用了独特的…...

VideoAgentTrek Screen Filter快速集成:为现有Web应用添加视频安全审核功能

VideoAgentTrek Screen Filter快速集成&#xff1a;为现有Web应用添加视频安全审核功能 1. 引言 如果你正在运营一个允许用户上传视频的Web应用&#xff0c;比如社交平台、在线教育网站或者内容社区&#xff0c;那么“内容安全”这四个字&#xff0c;可能已经让你头疼过不止一…...

深入探索UEFI Shell中的dh命令:高效检测系统Protocol安装状态

1. UEFI Shell与dh命令基础认知 刚接触UEFI开发时&#xff0c;我经常遇到这样的困扰&#xff1a;某个驱动明明编译通过了&#xff0c;运行时却提示"Protocol not found"。传统做法是在代码里插入调试语句&#xff0c;用gBS->LocateProtocol检查Protocol状态&#…...