系列文章目录

文章目录

  • ​​系列文章目录​​
  • ​​一、hibernate的配置文件详解​​
  • ​​回顾​​
  • ​​hibernate.hbm2ddl.auto 配置映射文件与数据库表的关系​​
  • ​​hiberante.dialect:数据库方言​​
  • ​​总结​​

一、hibernate的配置文件详解

回顾

之前我们已经知道这些了,现在回顾一下,以及继续探讨hibernate的配置文件

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_配置文件


是否格式化是什么意思呢?

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_配置文件_02


Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_hibernate_03

hibernate.hbm2ddl.auto 配置映射文件与数据库表的关系

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_hibernate_04


Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_hibernate_05

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_配置文件_06


我们现在来测试一下update

配置好之后,我们删除这张表,即使删除了这张表,它也是完全可以自动帮你创建好的

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_2d_07


注意,测试的时候我们不要去写查询,肯定要写插入

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_配置文件_08


那么没有表能不能插入成功呢?

我们看,直接插入成功了,并且自动帮我们创建了这个表

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_配置文件_09


同理我们看看create ,我们发现 create 每次都会帮你创建表,并且创建之前,如果之前有这张表了就会帮你删掉,从而覆盖掉旧表

同理我们再看看create-drop,每次insert完之后又帮你删除了这张表(要你何用!!),所以这个,一般是用于测试

我们常用的是update

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_配置文件_10


比如我们在模型里面加一个性别属性,但是实际表里面没有性别字段,会有什么样诡异的事情发生呢?

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_hibernate_11


Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_hibernate_12


这个地方改回update

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_配置文件_06


Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_2d_14


这个就是hibernate.hbm2ddl.auto 的用意

<property name="hibernate.hbm2ddl.auto">update</property>

hiberante.dialect:数据库方言

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_2d_15


比如分页,mysql是用limit,而Oracle则是用rownum,总会有一些特有的地方

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_配置文件_16


Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_2d_17

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_hibernate_18

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_2d_19


查看源码

Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_hibernate_20


Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)_hibernate_21

总结