用hibernate建表
把xxx.hbm.xml文件放在class所在位置。偶測試時,執行正常,但未見數據庫中的表,不知道哪里出錯。
import?net.sf.hibernate.SessionFactory;
import?net.sf.hibernate.cfg.Configuration;
import?net.sf.hibernate.tool.hbm2ddl.SchemaExport;
xxx?{
????Configuration?conf=?new?Configuration().addClass(xxx.class);
????//第一次運行時用來在數據庫中創建表
????//并且把sql語句輸出到txt文件用的
????//以后的運行要去掉這一段,否則每次都新建表
????Properties?prop?=?new?Properties();
????//沒有設置hibernate.dialect時,執行無法通過,還要找另外一種代替方法,否則這里跟數據庫類型綁定,不是一種好的實現方式
????prop.setProperty("hibernate.dialect",?"net.sf.hibernate.dialect.MySQLDialect"
;
????SchemaExport?dbExport=new?SchemaExport(conf,?prop);
????dbExport.setOutputFile("sql_out_lib\\sql.txt"
;
????dbExport.create(true,?true);
}
dbExport.create(true,true);
把xxx.hbm.xml文件放在class所在位置。偶測試時,執行正常,但未見數據庫中的表,不知道哪里出錯。
import?net.sf.hibernate.SessionFactory;
import?net.sf.hibernate.cfg.Configuration;
import?net.sf.hibernate.tool.hbm2ddl.SchemaExport;
xxx?{
????Configuration?conf=?new?Configuration().addClass(xxx.class);
????//第一次運行時用來在數據庫中創建表
????//并且把sql語句輸出到txt文件用的
????//以后的運行要去掉這一段,否則每次都新建表
????Properties?prop?=?new?Properties();
????//沒有設置hibernate.dialect時,執行無法通過,還要找另外一種代替方法,否則這里跟數據庫類型綁定,不是一種好的實現方式
????prop.setProperty("hibernate.dialect",?"net.sf.hibernate.dialect.MySQLDialect"

????SchemaExport?dbExport=new?SchemaExport(conf,?prop);
????dbExport.setOutputFile("sql_out_lib\\sql.txt"

????dbExport.create(true,?true);
}
dbExport.create(true,true);
?把這個語句的第二個參數true改成false,就可以生成sql語句了,變成下面的語句:
?dbExport.create(true,?false);
?不過無法直接執行,還需要繼續摸索。
?另外,發現這個時候不需要數據庫的連接,所以hibernate配置文件的連接池沒有設置也沒有關系。
引自:http://www.blogcn.com/user17/yu_qj/blog/6763871.html