美文网首页
spring boot项目使用postgre数据库的一个报错

spring boot项目使用postgre数据库的一个报错

作者: 兔子Tony的主人 | 来源:发表于2018-07-18 16:32 被阅读0次

1、先将得到的报错信息,贴出来

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xudod.business_ecology.user.dao.UserBaseMapper.selectAll

2、解决过程

刚开始,搜索了很多资料,但是查找不到可以解决的方法。因为*Mapper.xml文件是自动生成的,然后只加了一个select,但是别的项目都能正常查到数据,只有这个user的项目不行。

最后将*Mapper.xml文件中的select语句拿到Navicat中运行,select语句如下

select * from user.user_base

在Navicat中也报错了。

报错内容如下

[Err] ERROR: syntax error at or near "."

LINE 3:    from user.user_base

                    ^

后来查到原因:在postgre数据库中user应该是一个关键字,不能拿来当schema使用,

所以讲数据库schema修改为users,然后将select语句修改为

select * from users.user_bases

最终,在Navicat中运行正确,然后自动生成mybatis的文件中的修改,这里就不赘述了。问题解决。(写文章的时候,以为问题解决了,呵呵)

3、其实上边只是问题之一,修改了代码报错依旧

这个时候头是比较大的,心情也是比较郁闷的。做个深呼吸,用笨办法,将运行没有问题的那个项目的文件和这个出了问题的项目做对比

发现了spring boot项目中唯一的一个配置文件application.yml,是我为了做多环境配置,修改了的文件

而且问题也确实在这里

配置文件内容如下:

这里说明一下,这里是正确的配置文件,修改正确之前的,错误的配置文件没有的代码,用删除线标注起来。

当初修改这里的时候,还以为pagehelper和mybatis的配置是可以共用的所以只在最后配置了一下,没想到每个环境都得配置。

添加了代码后,启动项目,可以正常获取数据了,问题解决。

server:

  port: 8091

eureka:

  client:

    serviceUrl:

      defaultZone: http://127.0.0.1:8761/eureka/

spring:

    profiles:

      active: dev

---

#开发环境

spring:

    profiles: dev

    application:

      name: user

    datasource:

        type: com.alibaba.druid.pool.DruidDataSource

        url: jdbc:postgresql://111.168.1.11:5432/postgres?useUnicode=true&characterEncoding=UTF-8

        username:111

        password: 111

        driver-class-name: org.postgresql.Driver

        initialSize: 5

        minIdle: 5

        maxActive: 20

        maxWait: 60000

        timeBetweenEvictionRunsMillis: 60000

        validationQuery: select 1

        testWhileIdle: true

        testOnBorrow: false

        testOnReturn: false

        poolPreparedStatements: true

        maxPoolPreparedStatementPerConnectionSize: 20

        filters: stat

        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

mybatis:

  mapper-locations: classpath:mapping/*.xml

  type-aliases-package: com.winter.model

#pagehelper分页插件

pagehelper:

    helperDialect: postgresql

    reasonable: true

    supportMethodsArguments: true

    params: count=countSql

---

#测试环境

spring:

    profiles: test

    application:

      name: user

    datasource:

        type: com.alibaba.druid.pool.DruidDataSource

        url: jdbc:postgresql://111.111.1.11:5432/postgres?useUnicode=true&characterEncoding=UTF-8

        username: 111

        password: 111

        driver-class-name: org.postgresql.Driver

        initialSize: 5

        minIdle: 5

        maxActive: 20

        maxWait: 60000

        timeBetweenEvictionRunsMillis: 60000

        validationQuery: select 1

        testWhileIdle: true

        testOnBorrow: false

        testOnReturn: false

        poolPreparedStatements: true

        maxPoolPreparedStatementPerConnectionSize: 20

        filters: stat

        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

mybatis:

  mapper-locations: classpath:mapping/*.xml

  type-aliases-package: com.winter.model

#pagehelper分页插件

pagehelper:

    helperDialect: postgresql

    reasonable: true

    supportMethodsArguments: true

    params: count=countSql

---

#开发环境

spring:

    profiles: prod

    application:

      name: user

    datasource:

        type: com.alibaba.druid.pool.DruidDataSource

        url: jdbc:postgresql://111.117.11.111:5432/postgres?useUnicode=true&characterEncoding=UTF-8

        username: 111

        password: 111

        driver-class-name: org.postgresql.Driver

        initialSize: 5

        minIdle: 5

        maxActive: 20

        maxWait: 60000

        timeBetweenEvictionRunsMillis: 60000

        validationQuery: select 1

        testWhileIdle: true

        testOnBorrow: false

        testOnReturn: false

        poolPreparedStatements: true

        maxPoolPreparedStatementPerConnectionSize: 20

        filters: stat

        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

mybatis:

  mapper-locations: classpath:mapping/*.xml

  type-aliases-package: com.winter.model

#pagehelper分页插件

pagehelper:

    helperDialect: postgresql

    reasonable: true

    supportMethodsArguments: true

    params: count=countSql

相关文章

网友评论

      本文标题:spring boot项目使用postgre数据库的一个报错

      本文链接:https://www.haomeiwen.com/subject/qdzopftx.html