Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
原因:java.sql.SQLSyntaxErrorException:Table';项目。播放';不';不存在_Java_Mysql_Hibernate - Fatal编程技术网

原因:java.sql.SQLSyntaxErrorException:Table';项目。播放';不';不存在

原因: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

错误:由以下原因引起: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数据库(项目)中创建一个表(播放)。 实体类代码:

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”不存在