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

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 最小生成树问题 Prim算法和Kruskal算法
    • ¥25 医院住院病人呼叫器设计
    • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
    • ¥30 c++类和数组实验代码
    • ¥20 C语言字符串不区分大小写字典排序相关问题
    • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据
    • ¥15 关于Linux的终端里,模拟实现一个带口令保护的屏保程序遇到的输入输出的问题!(语言-c语言)
    • ¥30 请问,这个嵌入式Linux系统怎么分析,crc检验区域在哪
    • ¥15 二分类改为多分类问题
    • ¥15 Unity微信小游戏上调用ReadPixels()方法报错