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、执行
public static void main(String[] args) throws Exception
{
//实例化Configuration,这行代码默认加载hibernate.cfg.xml文件
Configuration conf = new Configuration().configure();
//以Configuration创建SessionFactory
SessionFactory sf = conf.buildSessionFactory();
//      //创建SchemaExport对象
SchemaExport se = new SchemaExport(conf);
//      //设置输出格式良好的SQL脚本
se.setFormat(true);
//          //设置保存SQL脚本的文件名
se.setOutputFile("d:\\1.sql");
//      //输出SQL脚本,并执行SQL脚本
se.create(true, true);
sf.close();
}
   总结:简单粗暴!


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
1月前
|
SQL 关系型数据库 数据库
数据库导出sql
\导出sql\这样的文件通常包含创建表、索引、触发器等的SQL语句,以及插入数据的SQL语句,从而可以在另一个数据库系统上重新创建整个数据库。 以下是一些流行的数据库管理系统(DBMS)如何导出
|
9天前
|
Oracle 关系型数据库 数据库
|
3天前
|
存储 JSON 数据库
什么是序列化大对象的值对象数据库形态
什么是序列化大对象的值对象数据库形态
|
16天前
|
SQL 缓存 Java
使用Hibernate实现复杂数据库查询优化策略
使用Hibernate实现复杂数据库查询优化策略
|
16天前
|
SQL 缓存 Java
使用Hibernate实现复杂数据库查询优化策略
使用Hibernate实现复杂数据库查询优化策略
|
19天前
|
SQL 关系型数据库 MySQL
Navicate,数据库,Mysql,改表,4月29日Finished - Unsuccessfully,导出数据不妨,右键,备份一下Mysql数据库的内容,你想导入和导出数据不如,用查询的方式去做
Navicate,数据库,Mysql,改表,4月29日Finished - Unsuccessfully,导出数据不妨,右键,备份一下Mysql数据库的内容,你想导入和导出数据不如,用查询的方式去做
|
23天前
|
存储 JSON JavaScript
数据库操作对象 db,用于与浏览器的 localStorage 交互
数据库操作对象 db,用于与浏览器的 localStorage 交互
15 0
|
1月前
|
SQL 关系型数据库 数据建模
Dify数据库结构导出到PowerDesigner
Dify是开源大语言模型应用开发平台,助力快速构建生成式AI应用。PowerDesigner是SAP的企业级建模工具,用于数据建模、业务流程建模和企业架构规划。通过PostgreSQL的`pg_dump`导出表结构到SQL文件,然后在PowerDesigner中导入生成物理数据模型,从而实现Dify数据库结构到PowerDesigner的迁移。
74 1
|
27天前
|
XML 机器学习/深度学习 存储
技术心得:对象的序列化存入数据库,与反序列化
技术心得:对象的序列化存入数据库,与反序列化
16 0
|
29天前
|
缓存 Java 数据库连接
解析Hibernate与JPA:Java对象的数据库化之旅
【6月更文挑战第25天】在Java企业开发中,Hibernate和JPA提供优雅的数据持久化方案。Hibernate是JPA规范的强大ORM实现,简化对象与数据库映射。配置环境后,通过@Entity注解定义实体类映射表,如`User`类映射&quot;users&quot;表。利用JPA的EntityManager执行查询和更新,如JPQL查询及对象更新。事务管理和性能优化是关键,确保数据完整性和应用性能。本文揭示了Hibernate与JPA的最佳实践,助开发者从容应对数据持久化。