小女子最近正在自学hibernate!于是手工搭建了一个环境,没用myeclipse等工具,项目目录如下
我自己把所有的java文件都放在了E:\JavaWebApp\test\WEB-INF\classes下面,然后字节码都放在了
E:\JavaWebApp\test\WEB-INF\classes\com\下面,如下图:
我想用hibernate的hbm2ddl工具自动创建表,可是不成功!控制台根本不显示建表语句!数据库也没有新表!
hibernate.cfg.xml文件内容如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">
jdbc:mysql://localhost:3306/javaweb
</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.username">
root
</property>
<property name="connection.password">
root
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.show_sql">
true
</property>
<property name="hbm2ddl.auto">
validate
</property>
<mapping resource="com/javaweb/ch17/hibernate/Product.hbm.xml"/>
</session-factory>
</hibernate-configuration>
polo类内容如下:
package com.javaweb.ch17.hibernate;
public class Product
{
private String id;
private String name;
private double price;
public Product()
{
}
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public double getPrice()
{
return price;
}
public void setPrice(double price)
{
this.price = price;
}
}
Product.hbm.xml映射文件内容如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.javaweb.ch17.hibernate.Product">
<id name="id">
<generator class="assigned"></generator>
</id>
<property name="name"></property>
<property name="price"></property>
</class>
</hibernate-mapping>
主文件内容如下
package com.javaweb.ch17.hibernate;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class CreateDB
{
public static void main(String[] args)
{
Configuration cfg = new Configuration().configure();
SchemaExport sExport = new SchemaExport(cfg);
sExport.create(true, true);
}
}
结果一运行,如下图:
控制台没有任何显示,正常的话应该显示建表语句啊!然后数据库中也没有表,请高手帮忙到底错哪里了!