springboot 集成mybatis,数据库表明有前缀怎么配置

之前我的表名是user,现在改成带有前缀的表名: cpms_user,但是运行时报错

org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'cpms.user' doesn't exist
### The error may exist in file [F:\java\javaProject\cpms-java-springboot\target\classes\mybatis\mapper\UserMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT *         FROM user where user_name = ?
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'cpms.user' doesn't exist
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'cpms.user' doesn't exist


图片描述

请问这个带有表名前缀的,mybatis需要怎么配置呢

阅读 7.9k
2 个回答

SELECT * FROM cpms.user where user_name = #{name} (X)
SELECT * FROM cpms_user where user_name = #{name} (O)

  1. cpms.user 中的 cpms 是数据库名称吧,如果不想改 userDao.xml,可以改 数据库连接路径,

改成这样 url: jdbc:p6spy:mysql://127.0.0.1:3306/?useUnicode=true&characterEncoding=utf-8,不指定数据库,可以访问一个链接下的所有数据库。 不建议在生成环境使用,老实点 把cpms. 去掉吧

  1. cpms.user 没见过这种表名命名方式, 一般都是 cpms_user 用于区分业务吧 看1就好
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题