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();
}
相关文章
- 11-23孙卫琴的《精通JPA与Hibernate》的读书笔记:持久化层对象的四种状态
- 11-23孙卫琴的《精通JPA与Hibernate》的读书笔记:映射对象标识符的基本原理
- 11-23孙卫琴的《精通JPA与Hibernate》读书笔记:对象-关系的映射概念
- 11-23Hibernate与数据库交互方式和Hibernate常用的几个方法
- 11-23VBS脚本编程(4)——对象的创建与调用
- 11-23[Effective Modern C++] Item 7. Distinguish between () and {} when creating objects - 辨别使用()与{}创建对象的差别
- 11-23hiberante对象方式的投影操作与sql语句的投影方式(聚集函数的hibernate用法)
- 11-23数据库表约束的创建与使用之主键约束
- 11-23SQL语句汇总(一)——数据库与表的操作以及创建约束
- 11-23create导致每次创建SessionFactory都清空数据库中的数据">hibernate配置之
create 导致每次创建SessionFactory都清空数据库中的数据