用hibernate建表
把xxx.hbm.xml文件放在class所在位置。偶測(cè)試時(shí),執(zhí)行正常,但未見(jiàn)數(shù)據(jù)庫(kù)中的表,不知道哪里出錯(cuò)。
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);
????//第一次運(yùn)行時(shí)用來(lái)在數(shù)據(jù)庫(kù)中創(chuàng)建表
????//并且把sql語(yǔ)句輸出到txt文件用的
????//以后的運(yùn)行要去掉這一段,否則每次都新建表
????Properties?prop?=?new?Properties();
????//沒(méi)有設(shè)置hibernate.dialect時(shí),執(zhí)行無(wú)法通過(guò),還要找另外一種代替方法,否則這里跟數(shù)據(jù)庫(kù)類型綁定,不是一種好的實(shí)現(xiàn)方式
????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所在位置。偶測(cè)試時(shí),執(zhí)行正常,但未見(jiàn)數(shù)據(jù)庫(kù)中的表,不知道哪里出錯(cuò)。
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);
????//第一次運(yùn)行時(shí)用來(lái)在數(shù)據(jù)庫(kù)中創(chuàng)建表
????//并且把sql語(yǔ)句輸出到txt文件用的
????//以后的運(yùn)行要去掉這一段,否則每次都新建表
????Properties?prop?=?new?Properties();
????//沒(méi)有設(shè)置hibernate.dialect時(shí),執(zhí)行無(wú)法通過(guò),還要找另外一種代替方法,否則這里跟數(shù)據(jù)庫(kù)類型綁定,不是一種好的實(shí)現(xiàn)方式
????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);
?把這個(gè)語(yǔ)句的第二個(gè)參數(shù)true改成false,就可以生成sql語(yǔ)句了,變成下面的語(yǔ)句:
?dbExport.create(true,?false);
?不過(guò)無(wú)法直接執(zhí)行,還需要繼續(xù)摸索。
?另外,發(fā)現(xiàn)這個(gè)時(shí)候不需要數(shù)據(jù)庫(kù)的連接,所以hibernate配置文件的連接池沒(méi)有設(shè)置也沒(méi)有關(guān)系。
引自:http://www.blogcn.com/user17/yu_qj/blog/6763871.html