Mysql 无法建立JDBC连接-没有有效的解决方案:/
我对Maven/Spring项目有问题。我正在尝试从MySQL工作台应用数据库,但没有成功 这是我的档案: persistence.xmlMysql 无法建立JDBC连接-没有有效的解决方案:/,mysql,spring,hibernate,jpa,jdbc,Mysql,Spring,Hibernate,Jpa,Jdbc,我对Maven/Spring项目有问题。我正在尝试从MySQL工作台应用数据库,但没有成功 这是我的档案: persistence.xml <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="shakira" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="myPass" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql//localhost:3306/shakira" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
<project xmlns="http://maven.apache.org/POM/4.0.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.3 http://maven.apache.org/xsd/maven-4.0.3.xsd">
<modelVersion>4.0.3</modelVersion>
<groupId>com.packt</groupId>
<artifactId>webstore</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.1.4.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>4.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.10</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.1.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.1.Final</version>
</dependency>
</dependencies>
<resources>
<resource>
<directory>src/main/resources/META-INF</directory>
<targetPath>META-INF</targetPath>
<includes>
<include>persistence.xml</include>
</includes>
</resource>
</resources>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="shakira" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="myPass" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql//localhost:3306/shakira" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
<project xmlns="http://maven.apache.org/POM/4.0.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.3 http://maven.apache.org/xsd/maven-4.0.3.xsd">
<modelVersion>4.0.3</modelVersion>
<groupId>com.packt</groupId>
<artifactId>webstore</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.1.4.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>4.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.10</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.1.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.1.Final</version>
</dependency>
</dependencies>
<resources>
<resource>
<directory>src/main/resources/META-INF</directory>
<targetPath>META-INF</targetPath>
<includes>
<include>persistence.xml</include>
</includes>
</resource>
</resources>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
我找到了一些解决办法,但没有一个奏效。以下是我尝试过的内容列表:
N
5.7.17-log # ;#80&X ˙÷! ˙ IY
me)q^* mysql_native_password ! ˙„#08S01Got packets out of order
hibernate.connection.autocommit=true
hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl.auto=create
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url= jdbc:mysql://localhost:3306/shakira
hibernate.connection.username=root
hibernate.connection.password=szczypi)rek13
hibernate.connection.pool_size=2
尝试使用
HibernatePersistenceProvider
创建持久化单元:
org.hibernate.jpa.HibernatePersistenceProvider
...
PersistenceProvider provider = new HibernatePersistenceProvider();
entityManagerFactory = provider.createEntityManagerFactory(
"shakira", null);
另一方面,第二个参数是一个属性映射
,您希望覆盖或添加到persistence.xml
中定义的属性映射之上。在您的情况下,只需传递null
值即可
更新
另一件您可以考虑的是在提交之前添加<代码> FrHuSH()/代码>:
entityManager.getTransaction().begin();
entityManager.persist( product );
entityManager.flush();
entityManager.getTransaction().commit();
System.out.println("successfull");
entityManager.close();
尝试使用
HibernatePersistenceProvider
创建持久化单元:
org.hibernate.jpa.HibernatePersistenceProvider
...
PersistenceProvider provider = new HibernatePersistenceProvider();
entityManagerFactory = provider.createEntityManagerFactory(
"shakira", null);
另一方面,第二个参数是一个属性映射
,您希望覆盖或添加到persistence.xml
中定义的属性映射之上。在您的情况下,只需传递null
值即可
更新
另一件您可以考虑的是在提交之前添加<代码> FrHuSH()/代码>:
entityManager.getTransaction().begin();
entityManager.persist( product );
entityManager.flush();
entityManager.getTransaction().commit();
System.out.println("successfull");
entityManager.close();
非常感谢您,它帮助解决了提供商的问题。不幸的是,连接仍然存在问题。仍然写入了一个错误:org.hibernate.service.spi.ServiceException:无法创建请求的服务,原因是:org.hibernate.HibernateException:无法建立JDBC连接[JDBC:mysql//localhost:3306/shakira]在使用flush()添加该行后,错误:“提交事务时出错”-已经消失,但是这个“isValid调用期间意外异常”仍然存在问题。我已经搜索了一些解决方案,但主要是人们说它是由错误版本的hibernate validator引起的。我尝试了新的和旧的版本,但没有任何帮助。非常感谢您,它帮助解决了提供商的问题。不幸的是,连接仍然存在问题。仍然写入了一个错误:org.hibernate.service.spi.ServiceException:无法创建请求的服务,原因是:org.hibernate.HibernateException:无法建立JDBC连接[JDBC:mysql//localhost:3306/shakira]在使用flush()添加该行后,错误:“提交事务时出错”-已经消失,但是这个“isValid调用期间意外异常”仍然存在问题。我已经搜索了一些解决方案,但主要是人们说它是由错误版本的hibernate validator引起的。我尝试了新的和旧的版本,但没有任何帮助。