Hibernate数据库对象的创建与导出
Hibernate
与数据库的关系是ORM关系,对象映射数据库。
那么如何通过对象对数据库进行各种对象的ddl与dml操作呢?
数据库对象操作的〈database-object
/〉+ SchemaExport
1、hibernate.cfg.xml
<?xml version="1.0"
encoding="GBK"?>
<!-- 指定Hibernate配置文件的DTD信息
-->
<!DOCTYPE hibernate-configuration
PUBLIC
"-//Hibernate/Hibernate Configuration DTD
3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!--
hibernate- configuration是连接配置文件的根元素
-->
<hibernate-configuration>
<session-factory>
……
<!--
根据需要自动创建数据库:如果创建表,这里必须为create -->
<property
name="hbm2ddl.auto">create</property>
<!--
显示Hibernate持久化操作所生成的SQL -->
<property
name="show_sql">true</property>
<!-- 将SQL脚本进行格式化后再输出
-->
<property
name="hibernate.format_sql">true</property>
<!-- 罗列所有的映射文件
-->
<mapping
resource="……/lovejk.hbm.xml"/>
</session-factory>
lt;/hibernate-configuration>
2、lovejk.hbm.xml
<?xml
version="1.0" encoding="gb2312"?>
<!-- 指定Hiberante3映射文件的DTD信息
-->
<!DOCTYPE hibernate-mapping
PUBLIC
"-//Hibernate/Hibernate Mapping DTD
3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!--
hibernate-mapping是映射文件的根元素
-->
<hibernate-mapping>
<!--
使用data-object元素定义数据库对象 -->
<database-object>
<!--
定义创建数据库对象的语句 -->
<create>create table testjk(name
varchar(256));</create>
<!-- 让drop元素为空,不删除任何对象
-->
<drop></drop>
<!-- 指定仅对MySQL数据库有效
-->
<dialect-scope
name="org.hibernate.dialect.MySQLDialect"/>
<dialect-scope
name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
</hibernate-mapping>
3、执行
www.jx-jf.com
public static void main(String[] args) throws
Exception
{
//实例化Configuration,这行代码默认加载hibernate.cfg.xml文件
Configuration
conf = new
Configuration()。configure();
//以Configuration创建SessionFactory
SessionFactory
sf = conf.buildSessionFactory();
// //创建SchemaExport对象 www.yzyedu.com
SchemaExport se = new SchemaExport(conf);
//
//设置输出格式良好的SQL脚本
se.setFormat(true);
//
//设置保存SQL脚本的文件名
se.setOutputFile("d:\\1.sql");
//
//输出SQL脚本,并执行SQL脚本
se.create(true,
true);
sf.close();
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。