hibernate ---DTD的详解

XML 文档构建模块

所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:

  • 元素 <!ELEMENT hibernate-configuration (session-factory,security?)>

    <!ELEMENT 元素名称 类别>
    
  • 属性 <!ATTLIST property name CDATA #REQUIRED>

    <!ATTLIST 元素名称 属性名称 属性类型 默认值>
    
  • 实体

    <!ENTITY 实体名称 "实体的值">
    
  • PCDATA parsed character data,也就是 &amp;、&lt;被解析为 &、<.

  • CDATA character data,也就是不会被解析器解析的文本。

DTD

通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。**DTD的作用是定义 XML 文档的合法构建模块。**也就是告诉xml文件构建的形式。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>
        <!-- Database connection settings -->
        <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/test05?characterEncoding=UTF-8</property>
        <property name="connection.username">root</property>
        <property name="connection.password">admin</property>
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="current_session_context_class">thread</property>
        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">update</property>
        <mapping resource="test01/Product.hmb.xml" />
    </session-factory>

</hibernate-configuration>

Hibernate的数据库的声明xml来理解DTD,英文叫做doc type define。也就是:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

上面的DTD位于 XML 源文件的外部,也就是xml中的链接。一般的格式为<!DOCTYPE 根元素 SYSTEM "文件名">。其中hibernate-configuration就是根元素,PUBLIC就是SYSTEM。

以下是http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd中的说明:

An instance of this document contains property settings and references to mapping files for a number of SessionFactory instances to be listed in JNDI.

上面说的意思是该文件中的实例包含属性设置和引用。这个引用是映射在JNDI中列出的多个SessionFactory实例的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值