踩坑 mybatis-plus Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘
org.springframework.jdbc.BadSqlGrammarException:
###Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExceptin: Table ‘xxx.xxx’ doesn’t exist
###The error may exist in com/example/mapper/UserMapper.java (best guess)
###The error may involve defaultParameterMap
###The error occurred while setting parameters
###SQL: SELECT id,name,age,email FROM user
###Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘xxx.xxxr’ doesn’t exist
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘xxx.xxx’ doesn’t exist

错误原因:原因实体类pojo名字和表名不一致!!mybatis-plus默认规则是实体类和表名以驼峰命名法映射,要求是需要符合这个规则才能执行成功。
所以需要在实体类上加@TableName(“表名”)
由于我使用的是官方的代码生成器,所以有这么一句

strategy.setTablePrefix(pc.getModuleName() + "_");

在输入模块名的时候我输入的是 aaa.bbb.ccc这种格式,刚好和表名对应上,所以这里默认把aaa.bbb去掉了,刚好默认实体又没@TableName注解,导致找不到表名。
 
我在代码生成器中加入

/*强制生成TableName,TableId,TableFiled 注解*/
strategy.setEntityTableFieldAnnotationEnable(true);

即可生成TableName,TableId,TableFiled 注解(需要 3.2.1版本以上)。

<!--Mybatis plus代码生成器-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.0</version>
</dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.0</version>
</dependency>

参考文章:
https://blog.csdn.net/xtho62/article/details/107385514
https://github.com/baomidou/mybatis-plus/issues/1910
https://gitee.com/baomidou/mybatis-plus/issues/IM3XE

评论

  1. Z
    3 年前
    2021-10-05 22:01:53

    哦~原来如此,谢谢!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇