为了账号安全,请及时绑定邮箱和手机立即绑定

hibernate报错 org.hibernate.exception.SQLGrammarException: could not execute statement

hibernate报错 org.hibernate.exception.SQLGrammarException: could not execute statement

好好认真学习 2017-03-19 13:54:57
package hibernate;import java.util.Date;public class Student {      private int sid;      private String sname;      private String gender;      private Date birthday;      private String address;                 public Student(int sid,String sname,String gender,Date birthday,String address){     this.sid=sid;     this.sname=sname;     this.gender=gender;     this.birthday=birthday;     this.address=address;           } public Student(){                } public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }      }<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated 2017-3-18 17:32:20 by Hibernate Tools 3.5.0.Final --><hibernate-mapping>    <class name="hibernate.Student" table="STUDENT">        <id name="sid" type="int">            <column name="SID" />            <generator class="assigned" />        </id>        <property name="sname" type="java.lang.String">            <column name="SNAME" />        </property>        <property name="gender" type="java.lang.String">            <column name="GENDER" />        </property>        <property name="birthday" type="java.util.Date">            <column name="BIRTHDAY" />        </property>        <property name="address" type="java.lang.String">            <column name="ADDRESS" />        </property>    </class></hibernate-mapping>package hibernate;import java.util.Date;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.junit.After;import org.junit.Before;import org.junit.Test;public class StudentsTest {   private SessionFactory sessionFactory;   private Session session;   private Transaction transaction; @Before public void init(){ //创建配置对象 Configuration config=new Configuration().configure(); config.addClass(Student.class); //创建服务注册对象 ServiceRegistry serviceRegistry =new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build(); //创建会话工厂对象 sessionFactory=config.buildSessionFactory(serviceRegistry); //会话对象 session=sessionFactory.openSession(); //开启事物 transaction=session.beginTransaction(); } @After public void destroy(){ transaction.commit();//提交事物 session.close();//关闭会话 sessionFactory.close();//关闭会话工厂 } @Test public void testSaveStudent(){ Student s=new Student(2,"张三","男",new Date(),"丽水"); session.save(s); }}<?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="connection.username">root</property>    <property name="connection.password">123456</property>    <property name="connection.driver_name">com.mysql.jdbc.Driver</property>    <property name="connection.url">jdbc:mysql://localhost:3306/student</property>     <property name="dialect">org.hibernate.dialect.MySQLDialect</property>           <property name="show_sql">true</property>     <property name="format_sql">true</property>     <property name="hbm2dd1.auto">create</property>    <mapping resource="Student.hbm.xml"/>    </session-factory></hibernate-configuration>
查看完整描述

2 回答

?
习惯受伤

TA贡献885条经验 获得超1144个赞

你看一下控制台输出的sql语句是什么样的?

查看完整回答
1 反对 回复 2017-03-19
  • 习惯受伤
    习惯受伤
    Table 'student.student' doesn't exist,表不存在哈,<property name="hibernate.hbm2ddl.auto">create</property> 是不是你的配置有点问题呢?
  • 好好认真学习
    好好认真学习
    hibernate-release-5.2.9.Final junit4.9 mysql使用5.1.29
  • 好好认真学习
    好好认真学习
    换了个数据库还是没用
点击展开后面1
  • 2 回答
  • 0 关注
  • 1785 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信