原因:java.sql.SQLSyntaxErrorException:Table';项目。播放';不';不存在
错误:由以下原因引起:java.sql.SQLSyntaxErrorException:表 “project.playing”在中不存在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) 在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) 在 com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) 在 com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) 在 com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1092) 在 com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1040) 在 com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1347) 在eclipse中,使用maven项目试图使用hibernate在现有mysql数据库(项目)中创建一个表(播放)。 实体类代码:原因:java.sql.SQLSyntaxErrorException:Table';项目。播放';不';不存在,java,mysql,hibernate,Java,Mysql,Hibernate,错误:由以下原因引起:java.sql.SQLSyntaxErrorException:表 “project.playing”在中不存在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) 在 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) 在 com.mysql.cj.jdbc.exceptio
package com.rj.hibtry.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "playing")
public class Users {
@Id
@Column(name = "user_id")
int userId;
@Column(name = "username")
String username;
@Column(name = "password")
String password;
@Column(name = "first_name")
String firstName;
@Column(name = "last_name")
String lastName;
public Users(String username, String password, String firstName, String lastName) {
this.username = username;
this.password = password;
this.firstName = firstName;
this.lastName = lastName;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
主要方法代码:
package com.rj.hibtry;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.rj.hibtry.entity.Users;
public class App {
public static void main(String[] args) {
SessionFactory factory=new Configuration()
.configure("hibernate.cfg.xml")
.addAnnotatedClass(Users.class)
.buildSessionFactory();
Session session=factory.getCurrentSession();
try {
// Create object of entity class type
Users user = new Users("lj", "password", "firstName", "lastName");
// Start transaction
session.beginTransaction();
// Perform operation
session.save(user);
// Commit the transaction
session.getTransaction().commit();
System.out.println("Row added!");
} finally {
session.close();
factory.close();
}
}
}
hibernate.cfg.xml代码:
<!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>
<!-- Connection settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Sample MySQL URL provided -->
<property name="connection.url">jdbc:mysql://localhost:3306/project?serverTimezone=UTC</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<property name="hbm2ddl.auto">create</property>
<!-- Show SQL on console -->
<property name="show_sql">true</property>
<!--Setting Session context model -->
<property name="current_session_context_class">thread</property>
</session-factory>
</hibernate-configuration>
com.mysql.jdbc.Driver
org.hibernate.dialogue.mysqldialogue
jdbc:mysql://localhost:3306/project?serverTimezone=UTC
根
创造
真的
线
日志是否显示它试图运行的SQL?Apr Hibernate:如果存在,请删除表播放2020年4月25日12:18:12 PM[org.Hibernate.engine.jdbc.env.internal.jdbc Environment Initiator$ConnectionProviderJdbcConnectionAccess@78a515e4]对于(非JTA),DDL执行未处于自动提交模式;将提交连接“本地事务”,并将连接设置为自动提交模式。Hibernate:create table playing(用户id整数不为null,名字varchar(255),姓氏varchar(255),密码varchar(255),用户名varchar(255),主键(用户id))type=MyISAMHibernate:insert in playing(名字,姓氏,密码,用户名,用户id)值(?,,,,?)4月25日,2020年12:18:12 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper日志异常警告:SQL错误:1146,SQLState:42S02 Apr 25,2020年12:18:12 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper日志异常错误:表“project.playing”不存在日志是否显示它试图运行的SQL?Apr hibernate:drop Table如果存在播放2020年4月25日12:18:12 PM[org.hibernate.engine.jdbc.env.internal.jdbc环境启动器$ConnectionProviderJdbcConnectionAccess@78a515e4]for(非JTA)DDL执行未处于自动提交模式;将提交连接“本地事务”,并将连接设置为自动提交模式。Hibernate:创建表播放(user_id integer不为null,first_name varchar(255),last_name varchar(255),password varchar(255),username varchar(255),primary key(user_id))type=MyISAMHibernate:在播放中插入(first_name,last_name,password,username,user_id)值(?,,,,,?)2020年4月25日12:18:12 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper日志异常警告:SQL错误:1146,SQLState:42S02 2020年4月25日12:18:12 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper日志异常错误:表“project.playing”不存在