SSH与SSM学习之hibernate02——ORM配置详解

来源:互联网 发布:车主名录采集软件 编辑:程序博客网 时间:2024/06/02 02:35

  • SSH与SSM学习之hibernate02ORM配置详解
    • 一我们的ORM配置文件
    • 二根元素
    • 三class元素
    • 四id元素
    • 五主键生成策略
    • 六property元素
    • 七完整的配置说明

SSH与SSM学习之hibernate02——ORM配置详解

一、我们的ORM配置文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping>    <class name="com.qwm.hilbernate01.User">        <id name="id">            <!--id自增-->            <generator class="increment"></generator>        </id>        <property name="name"/>        <property name="age"/>    </class></hibernate-mapping>

二、根元素

<!-- 配置表与实体对象的关系 --><!-- package属性:填写一个包名.在元素内部凡是需要书写完整类名的属性,可以直接写简答类名了. --><hibernate-mapping package="com.qwm.hilbernate01">....</hibernate-mapping>

原来的配置文件就可以改为

....<!-- 配置表与实体对象的关系 --><!-- package属性:填写一个包名.在元素内部凡是需要书写完整类名的属性,可以直接写简答类名了. --><hibernate-mapping package="com.qwm.hilbernate01">    <class name="User">       .....    </class></hibernate-mapping>

三、class元素

<!--    class元素: 配置实体与表的对应关系的    name: 完整类名    table:数据库表名   --><class name="User" table="tb_user1">....</class>

四、id元素

<!--   id元素:配置主键映射的属性        name: 填写主键对应属性名(类中的属性)        column(可选): 填写表中的主键列名.默认值:列名会默认使用属性名        type(可选):填写列(属性)的类型.hibernate会自动检测实体的属性类型.                每个类型有三种填法: java类型|hibernate类型|数据库类型        not-null(可选):配置该属性(列)是否不能为空. 默认值:false        length(可选):配置数据库中列的长度. 默认值:使用数据库类型的最大长度 --><id name="id">    <!--id自增-->    <!-- generator:主键生成策略 -->    <generator class="increment"></generator></id>

五、主键生成策略

<!--   id元素:配置主键映射的属性        name: 填写主键对应属性名(类中的属性)        column(可选): 填写表中的主键列名.默认值:列名会默认使用属性名        type(可选):填写列(属性)的类型.hibernate会自动检测实体的属性类型.                每个类型有三种填法: java类型|hibernate类型|数据库类型        not-null(可选):配置该属性(列)是否不能为空. 默认值:false        length(可选):配置数据库中列的长度. 默认值:使用数据库类型的最大长度 --><id name="id">    <!--id自增-->    <!-- generator:主键生成策略 -->    <!-- generator:主键生成策略.就是每条记录录入时,主键的生成规则.(7个)            identity :  主键自增.由数据库来维护主键值.录入时不需要指定主键.            sequence:   Oracle中的主键生成策略.            increment:  主键自增.由hibernate来维护.每次插入前会先查询表中id最大值.+1作为新主键值.            hilo:       高低位算法.主键自增.由hibernate来维护.开发时不使用.            native:     hilo+sequence+identity 自动三选一策略.            uuid:       产生随机字符串作为主键. 主键类型必须为string 类型.            assigned:   自然主键生成策略. hibernate不会管理主键值.由开发人员自己录入.    -->    <generator class="increment"></generator></id>

六、property元素

<!--  property元素:除id之外的普通属性映射        name: 填写属性名        column(可选): 填写列名        type(可选):填写列(属性)的类型.hibernate会自动检测实体的属性类型.                每个类型有三种填法: java类型|hibernate类型|数据库类型        not-null(可选):配置该属性(列)是否不能为空. 默认值:false        length(可选):配置数据库中列的长度. 默认值:使用数据库类型的最大长度--><property name="name"/>

七、完整的配置说明

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!-- 配置表与实体对象的关系 --><!-- package属性:填写一个包名.在元素内部凡是需要书写完整类名的属性,可以直接写简答类名了. --><hibernate-mapping package="com.qwm.hilbernate01">    <!--        class元素: 配置实体与表的对应关系的        name: 完整类名        table:数据库表名       -->    <class name="User" table="tb_user1">        <!--           id元素:配置主键映射的属性                name: 填写主键对应属性名(类中的属性)                column(可选): 填写表中的主键列名.默认值:列名会默认使用属性名                type(可选):填写列(属性)的类型.hibernate会自动检测实体的属性类型.                        每个类型有三种填法: java类型|hibernate类型|数据库类型                not-null(可选):配置该属性(列)是否不能为空. 默认值:false                length(可选):配置数据库中列的长度. 默认值:使用数据库类型的最大长度         -->        <id name="id">            <!--id自增-->            <!-- generator:主键生成策略 -->            <!-- generator:主键生成策略.就是每条记录录入时,主键的生成规则.(7个)                    identity :  主键自增.由数据库来维护主键值.录入时不需要指定主键.                    sequence:   Oracle中的主键生成策略.                    increment:  主键自增.由hibernate来维护.每次插入前会先查询表中id最大值.+1作为新主键值.                    hilo:       高低位算法.主键自增.由hibernate来维护.开发时不使用.                    native:     hilo+sequence+identity 自动三选一策略.                    uuid:       产生随机字符串作为主键. 主键类型必须为string 类型.                    assigned:   自然主键生成策略. hibernate不会管理主键值.由开发人员自己录入.            -->            <generator class="increment"></generator>        </id>        <!-- property元素:除id之外的普通属性映射                name: 填写属性名                column(可选): 填写列名                type(可选):填写列(属性)的类型.hibernate会自动检测实体的属性类型.                        每个类型有三种填法: java类型|hibernate类型|数据库类型                not-null(可选):配置该属性(列)是否不能为空. 默认值:false                length(可选):配置数据库中列的长度. 默认值:使用数据库类型的最大长度         -->        <property name="name"/>        <property name="age"/>    </class></hibernate-mapping>
原创粉丝点击