冈斯特 2020-09-26 17:12 采纳率: 100%
浏览 270
已采纳

navicat中可以运行的inner join 在mybatis中运行语法错误

navicat 中的语句

                SELECT
            blog.*,users.nickname,users.id AS uid,m.blogs_id,m.tags_id AS tid,t.`name` AS tname
        FROM
            ((t_blog  blog,
            t_type types,
            t_user users)
            INNER JOIN t_blog_tags  m ON blog.id=m.blogs_id)
            INNER JOIN t_tag  t ON t.id=m.tags_id
        WHERE
             blog.type_id = types.id
            AND users.id = blog.user_id
        ORDER BY
            blog.updateTime DESC

图片说明

在mybatis中报语法错
图片说明

JDBC Connection [HikariProxyConnection@473404166 wrapping com.mysql.cj.jdbc.ConnectionImpl@727b8f8c] will not be managed by Spring
==> Preparing: SELECT count(0) FROM ((t_blog blog t_type types t_user users) INNER JOIN t_blog_tags m ON blog.id = m.blogs_id) INNER JOIN t_tag t ON t.id = m.tags_id WHERE blog.type_id = types.id AND users.id = blog.user_id
==> Parameters:
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@180804df]
2020-09-26 17:09:13.944 ERROR 4748 --- [-nio-80-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException:

Error querying database. Cause: java.sql.SQLSyntaxErrorException: 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 't_type types t_user users) INNER JOIN t_blog_tags m ON blog.id = m.blogs_id) INN' at line 1

The error may exist in file [F:\java\blog\target\classes\mybatis\mapper\BlogMapper.xml]

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: SELECT count(0) FROM ((t_blog blog t_type types t_user users) INNER JOIN t_blog_tags m ON blog.id = m.blogs_id) INNER JOIN t_tag t ON t.id = m.tags_id WHERE blog.type_id = types.id AND users.id = blog.user_id

Cause: java.sql.SQLSyntaxErrorException: 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 't_type types t_user users) INNER JOIN t_blog_tags m ON blog.id = m.blogs_id) INN' at line 1

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: 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 't_type types t_user users) INNER JOIN t_blog_tags m ON blog.id = m.blogs_id) INN' at line 1] with root cause

java.sql.SQLSyntaxErrorException: 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 't_type types t_user users) INNER JOIN t_blog_tags m ON blog.id = m.blogs_id) INN' at line 1

  • 写回答

1条回答 默认 最新

  • Keifei 2020-09-27 11:38
    关注

    很有可能是制表符的问题,你把制表符换成空格试一下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失