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

无法 JDBC 连接到 jdbc:mysql//localhost:3306/database

陶博涉
2023-03-14

我搜索所有内容来解决这个问题,但我仍然这样做,我不知道是什么......

mysql 版本是 5.7,hibernate 是 5.2.8.final,我的 sql 连接器是 5.1.2。

im 使用 STS IDE

绒球.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.example</groupId>
  <artifactId>hibernate</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>hibernate</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>


  <dependencies>
  <dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jdbc</artifactId>
    <version>9.0.0.M21</version>
</dependency>
  <dependency>
    <groupId>com.sun.activation</groupId>
    <artifactId>javax.activation</artifactId>
    <version>1.2.0</version>
</dependency>
  <dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.4.0-b180725.0644</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0.1</version>
</dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

     <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>ejb3-persistence</artifactId>
            <version>1.0.2.GA</version>
        </dependency>

    <!-- <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.5.6-Final</version>
    </dependency> -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.2</version>
    </dependency>

    <!-- <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-commons-annotations</artifactId>
            <version>3.2.0.Final</version>
        </dependency> -->

    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
       <version>1.7.5</version>
   </dependency>
   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
       <version>1.6.4</version>
   </dependency>

     <dependency>
       <groupId>org.hibernate</groupId>
       <artifactId>hibernate-core</artifactId>
       <version>5.2.8.Final</version>
    </dependency>

  </dependencies>

</project>

Hibernate.cfg.xml

我认为问题就在这里,我想是版本,但是在我的调查中,我读到JDBC没有安装,但我安装了与5.7 MySQL兼容的连接器8.0.12.jar。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC 
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql//localhost:3306/database</property>
        <property name="hibernate.connection.username">username</property>
        <property name="hibernate.connection.password">password</property>

        <!-- Disable the second-level cache -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>


    <!-- JDBC connection pool (use the built-in) -->
    <property name="connection_pool_size">true</property>

        <!-- SQL dialect -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
    <!-- Echo all executed SQL to stdout -->
    <property name="hibernate.show_sql">true</property>

    <!-- Enable Hibernate's automatic session context management -->
        <property name="hibernate.current_session_context_class">thread</property>


        <mapping class="com.example.hibernate.model.SocialMedia" />
        <mapping class="com.example.hibernate.model.Course" />
        <mapping class="com.example.hibernate.model.Teacher" />
        <mapping class="com.example.hibernate.model.TeacherSocialMedia" />
    </session-factory>
</hibernate-configuration>

配置

SessionFactory sessionFactory;
           Configuration configuration = new Configuration();
          configuration.configure("hibernate.cfg.xml");
          sessionFactory = configuration.buildSessionFactory();
          Session session = sessionFactory.openSession();

错误。。。

Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

和。。。

Unable to make JDBC Connection [jdbc:mysql//localhost:3306/database]

共有2个答案

毕嘉
2023-03-14

尝试使用,

<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
毛德华
2023-03-14

您错过了连接URL中的mysql之后的:。正确的应该看起来像jdbc:mysql://localhost:3306 /database

 类似资料:
  • 我创建了一个属性文件 我创建了一个连接池 然后我就有问题了。我搜索了一些Anwser,他们说司机需要像上课一样注册。forName(com.mysql.jdbc.Driver)。但我的驱动程序版本似乎能够自行注册,所以这个解决方案无法工作。 错误: 2018年10月2日上午9:46:09组织。阿帕奇。卡塔琳娜。果心StandardContext重新加载信息:重新加载名为[/WEB13]的上下文已完

  • java.sql.sqlexception:未找到适用于JDBC的驱动程序:MySQL/localhost:3306/World在java.sql.drivermanager.getConnection(drivermanager.java:689)在java.sql.drivermanager.getConnection(drivermanager.java:247)在db.main(db.ja

  • 嗨,我最近下载了wamp服务器来帮我做网站。我的问题是,当我点击phpmyadmin时,我收到一条错误消息“HTTP错误404.0-未找到您要查找的资源已被删除、名称已更改或暂时不可用。” 最后,要看到我的网页,我必须写http://localhost:8888/。如果我将8888放在phpmyadmin的前面,那么我可以看到phpmyadmin,但它不会与我创建的mysql数据库和表同步,它只是

  • 这是我的实体 这是我的主课 这就是我的persistence.xml 堆栈跟踪:

  • 问题内容: 使用Java,尝试连接到mysql数据库时出现此错误: 我正在使用驱动程序。它在我的构建路径中。我已经重启了MySQL。我还从命令行使用root用户登录,没有密码,并且连接正常。我目前在netstat中没有看到端口3306。以前我遇到了另一个错误(我没有更改代码)。错误是“用户’root’@’localhost密码NO拒绝jdbc mysql访问” 问题答案: 在这种特殊情况下(假设没

  • 我正在尝试在CentOS系统上运行Apache NiFi。我下载了它并使用以下命令运行它: 结果如下: 然后,我用命令检查Apache NiFi的状态: 结果是: 但最后当我尝试访问http://localhost:8090/nifi或http://localhost:8080/nifi在我的浏览器上显示:无法连接。(我将http端口更改为8090以避免冲突,但仍然存在相同的问题)。请帮帮我,有什

  • 这几天来,我无法在本地运行mac os ML的机器上连接到我的postgreSQL数据库。 我机器的nmap显示postgres在5432上运行,我可以通过pgadmin和psql进行本地连接。 收听地址设置为* 当我尝试连接JDBC时,我会遇到以下异常 组织。postgresql。util。PSQLException:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。

  • 问题内容: 这个问题已经在这里有了答案 : 臭名昭著的java.sql.SQLException:未找到合适的驱动程序 (13个答案) 4年前关闭。 使用Java,尝试连接到mysql数据库时出现此错误: 我正在使用驱动程序。它在我的构建路径中。我已经重启了MySQL。我还从命令行使用root用户登录,没有密码,并且连接正常。我目前在netstat中没有看到端口3306。以前我遇到了另一个错误(我