• 解决一个mybatisplus left join里有ur报错问题


    今天调试没有注意写了下面语句

    1. select
    2. sns.send_id,
    3. sns.notice_id,
    4. sns.user_id,
    5. sns.read_flag,
    6. sa.notice_title as notice_title,
    7. sa.notice_content as notice_content,
    8. sa.sender as sender,
    9. sa.priority as priority,
    10. sa.notice_type as notice_type,
    11. sa.send_time as send_time
    12. from sys_notice_send sns
    13. left join sys_notice sa ON sns.notice_id = sa.notice_id
    14. left join sys_user ur ON sns.user_id = ur.user_id
    15. where sa.send_status = '1'
    16. and sa.status = '0'
    17. and sns.user_id = #{noticeSendModel.userId}

    结果报错,如下:

    1. at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
    2. ... 109 common frames omitted
    3. Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to process, Error SQL: select
    4. sns.send_id,
    5. sns.notice_id,
    6. sns.user_id,
    7. sns.read_flag,
    8. sa.notice_title as notice_title,
    9. sa.notice_content as notice_content,
    10. sa.sender as sender,
    11. sa.priority as priority,
    12. sa.notice_type as notice_type,
    13. sa.send_time as send_time
    14. from sys_notice_send sns
    15. left join sys_notice sa ON sns.notice_id = sa.notice_id
    16. left join sys_user ur ON sns.user_id = ur.user_id
    17. where sa.send_status = '1'
    18. and sa.status = '0'
    19. and sns.user_id = ?
    20. order by sns.read_flag,sa.send_time desc
    21. at com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:39)
    22. at com.baomidou.mybatisplus.extension.parser.JsqlParserSupport.parserSingle(JsqlParserSupport.java:52)
    23. at com.ruoyi.framework.interceptor.PlusDataPermissionInterceptor.beforeQuery(PlusDataPermissionInterceptor.java:49)
    24. at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:78)
    25. at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
    26. at com.sun.proxy.$Proxy251.query(Unknown Source)
    27. at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
    28. ... 116 common frames omitted
    29. Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "ur"
    30. at line 14, column 24.

    开始没有注意,以为是sql语句有问题,后来在navicat里执行好像也没有错误。

    后来再仔细看后,发现说ur是关键字?不能用ur,果然用下面语句就好了。

    1. select
    2. sns.send_id,
    3. sns.notice_id,
    4. sns.user_id,
    5. sns.read_flag,
    6. sa.notice_title as notice_title,
    7. sa.notice_content as notice_content,
    8. u.nick_name as sender,
    9. sa.priority as priority,
    10. sa.notice_type as notice_type,
    11. sa.send_time as send_time
    12. from sys_notice_send sns
    13. left join sys_notice sa ON sns.notice_id = sa.notice_id
    14. left join sys_user u ON sns.user_id = u.user_id
    15. where sa.send_status = '1'
    16. and sa.status = '0'
    17. and sns.user_id = #{noticeSendModel.userId}

    注意出错日志里有这句Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "ur"

    说明是跟ur相关了。

  • 相关阅读:
    多聚体/壳聚糖修饰白蛋白纳米球/mPEG-HSA聚乙二醇人血清白蛋白纳米球的制备与研究
    PCL 最小中值平方法拟合平面
    亚信科技亮相南京软博会,数智赋能百行千业
    计算机毕业设计(附源码)python疫情防控管理系统
    始祖双碳新闻 | 2022年8月22日碳中和行业早知道
    由antimalware占用CPU引起的一系列问题及解决方法
    前端面试题:1.回流与重绘
    【计算机网络】 7、websocket 概念、sdk、实现
    用HTML+CSS做一个漂亮简单的轻量级图片相册博客网站(web前端期末大作业)
    【Hive SQL 每日一题】找出各个商品销售额的中位数
  • 原文地址:https://blog.csdn.net/qq_40032778/article/details/133233897