当前位置: 首页 > 知识库问答 >
问题:

为什么我的HikariCP springboot会抛出此异常?

姬温文
2023-03-14

这是我的申请

spring:

数据源:类型:com.zaxxer.hikari.HikariDataSource主要:

  serverName: localhost
  portNumber: 3306
  databaseName: ccoee
  username: root
  password:  root
  dataSourceClassName: com.mysql.cj.jdbc.Driver
secondary:
  serverName: localhost
  portNumber: 3306
  databaseName: ccoee
  username: root
  password:  root
  dataSourceClassName: com.mysql.cj.jdbc.Driver

这是我的入门:

ApplicationContext applicationContext = SpringApplication.run(
            TransqlApplication.class, args);
    DataSource dataSource = applicationContext.getBean(DataSource.class);
    System.out.println("datasource is :" + dataSource);
    //检查数据库是否是hikar数据库连接池
    if (!(dataSource instanceof HikariDataSource)) {
        System.err.println(" Wrong datasource type :"
                + dataSource.getClass().getCanonicalName());
        System.exit(-1);
    }
    try {
        Connection connection = dataSource.getConnection();
        ResultSet rs = connection.createStatement()
                .executeQuery("SELECT  1");
        if (rs.first()) {

            System.out.println("Connection OK!");
        } else {
            System.out.println("Something is wrong");
        }
        // connection.close();
        // System.exit(0);

    } catch (SQLException e) {
        System.out.println("FAILED");
        e.printStackTrace();
        System.exit(-2);
        // TODO: handle exception
    }

这是我的例外:

datasource is :HikariDataSource (null)

2017-11-21 10:10:33.126线程“main”中的表现:java.lang.运行时异常: java.lang.ClassCastException: 无法将 com.mysql.cj.jdbc.Driver to javax.sql.DataSource INFO AT COM.zaxxer.hikari.util.UtilityElf.createinstance(UtilityElf.java:93) 676 ---在 com.zaxxer.hikari.pool.poolBase.initializeDatasource(PoolBase.java:338) [ main] at com.zaxxer.hikari.pool.pool.PoolBase.(PoolBase.java:117) 网站.(光池.java:109) : 在.java网站at com.mycjj.transql.TransqlApplication.main(TransqlApplication.java:51) 由: java.lang.ClassCastException: 无法 cast com.mysql.cj.jdbc.Driver to javax.sql.DataSource at java.lang.Class.cast(Class.java:3369) at com.zaxxer.hikari.util.UtilityElf.createInstance(UtilityElf.java:82) ...5 更多 2017-11-21 10:10:34.204 错误 676 --- [池-1-线程-1] com.mycjj.transql.GetSql : 数据库连接异常,请检查地址/账号/密码是否正确

共有1个答案

史修谨
2023-03-14

JDBC 驱动程序类不是 javax.sql.不应使用“数据源类名”属性,而应使用“驱动程序类名”属性。

还有,< code > com . MySQL . CJ . JDBC . driver 是MySQL Connector/J 6.0(已弃用)或8.0(仍在开发中)开发版本的类名。目前它还不是一个发布版本,您不应该在生产中使用它。

 类似资料:
  • 问题内容: 这是我的XML文件: 我做了两个类来解析它(Fields.java和Field.java): 和 但是我得到这个例外。 我不明白为什么会出现这种异常。异常在这里: 我使用的是JDK 1.6_0.0.7。谢谢。 问题答案: 例外是由于您的JAXB(JSR-222)实现认为存在两个名称相同的事物(一个字段和一个属性)。您的用例有两个选项: 选项#1-使用以下注释字段 如果要注释该字段,则应

  • 我试图在Java中将扫描字符串转换为JSONObject,并从JSON Simple导入JSON模块。我已经在构建路径中添加了JSON-simple-1.1.1.jar。然而,当我试图传递内联字符串时。我的内联字符串如下:{“events”:[{“url”:“/操纵多云国家”,“visitorId”:“03c0b5e0-3eeb-382a-8c6d-35e4bb189cf6”,“timestamp

  • 问题内容: 执行以下方法时: 被扔。这可能是什么原因? 问题答案: 这可能是什么原因? 我不知道其余的内容,但是我遇到的大多数PC使用8位或16位的“位深度”,而使用24位。它表示非常精细的记录质量。如果8位是“电话质量”,而16位是“ CD质量”,则24位将是“主录音质量”。

  • 下面是我的代码。当我运行它时,我在线程“main”java.lang.IndexOutOfBoundsException:Index:3、Size:2中得到异常,而不是我的异常消息。谁能解释一下我做错了什么,为什么会这样?谢谢!

  • 问题内容: 直接的答案是因为s接口被指定为不会引发异常。但是为什么呢? 或换句话说:我必须依赖可以引发异常的函数。从理论上讲,这不应该发生。但是,如果发生这种情况,我希望它脱离我正在使用的整个函数(在中)。即我希望它的行为就像发生未处理的异常一样。 似乎这不可能以一种显而易见的自然方式进行(因为如果接口说它不能抛出异常,就不会)。 我该如何解决?用丑陋的try / catch并打印出异常,并希望我

  • 问题内容: 我正在从我的一个类中执行Java二进制文件,并且抛出ClassNotFoundException: Geoline类位于/home/geo/Geoline.java。关键是,无论我位于文件系统中的哪个位置,如果我手动执行相同的命令,都将执行该类。使用Runtime.getRuntime()。exec执行二进制文件时,为什么不会发生相同的事情? 编辑:这是在verbose标记上生成的输出