20170318_系统管理_设计实体_映射实体1

设计实体
|-第一步:设计实体
  |-第一段:有几个实体,三个实体
  |-第二段:实体之间的关系
  |-第三段:添加实体属性(主键id---->关联关系---->一般的属性---->特殊属性)
|-第二步:生成JavaBean

  |-手写
  |-工具生成


映射实体
|-第一步:写映射文件
  |-第一段:写注释
  |-第二段:拷贝模板
  |-第三段:填空

|-第二步:通过工具自动生成表

=====================================================

实现一组功能的步骤:

===================================================================

设计实体/表:

第一步:设计实体

 

第一段:有几个实体,三个实体

 

第二段:实体之间的关系

 

 

第三段:添加实体属性

步骤:主键id---->关联关系---->一般的属性---->特殊属性

 1、岗位管理添加属性:

 

 

2、用户管理添加属性:

步骤:主键id---->关联关系---->一般的属性---->特殊属性

 

 

3、部门管理添加属性:

步骤:主键id---->关联关系---->一般的属性---->特殊属性

 

第二步:生成javavBean:

方式一:手写

方式二:工具生成

 

===========================================================

映射实体:

第一步:写映射文件

 1 多对一
 2 <many-to-one name=“” class=“” column=“”/>
 3 
 4 
 5 一对多(Set)
 6 <set name="">
 7         <key column=""></key>
 8         <one-to-many class=""/>
 9 </set>
10 
11 
12 多对多(Set)
13 <set name="" table="">
14         <key column=""></key>
15         <many-to-many class="" column=""/>
16 </set>

 

第一段:写注释

 

 第二段:拷贝模板

 

第三段:填空

 

多对多等一下在弄。

 

 Role.hbm.xml:

 1 <?xml version="1.0"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC
 3         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 5 
 6 <hibernate-mapping package="cn.itcast.oa.domain">
 7 
 8     <class name="Role" table="itcast_role">
 9         <id name="id">
10             <generator class="native"/>
11         </id>
12         <property name="name"/>
13         <property name="description"/>
14         
15         <!-- users属性,本类与User的多对多 -->
16         <set name="users" table="itcast_user_role">
17             <key column="roleId"></key>
18             <many-to-many class="User" column="userId"></many-to-many>
19         </set>
20         
21     </class>
22     
23 </hibernate-mapping>

 

User.hbm.xml

 1 <?xml version="1.0"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC
 3         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 5 
 6 <hibernate-mapping package="cn.itcast.oa.domain">
 7 
 8     <class name="User" table="itcast_user">
 9         <id name="id">
10             <generator class="native"/>
11         </id>
12         <property name="loginName"/>
13         <property name="password"/>
14         <property name="name"/>
15         <property name="gender" />
16         <property name="phoneNumber"/>
17         <property name="email"/>
18         <property name="description"/>
19         
20         <!-- department属性,本类与Department的多对一 -->
21         <many-to-one name="department" class="Department" column="departmentId"></many-to-one>
22 
23         <!-- roles属性,本类与Role的多对多 -->
24         <set name="roles" table="itcast_user_role">
25             <key column="userId"></key>
26             <many-to-many class="Role" column="roleId"></many-to-many>
27         </set>
28         
29     </class>
30     
31 </hibernate-mapping>

 

Department.hbm.xml

 1 <?xml version="1.0"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC
 3         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 5 
 6 <hibernate-mapping package="cn.itcast.oa.domain">
 7 
 8     <class name="Department" table="itcast_department">
 9         <id name="id">
10             <generator class="native" />
11         </id>
12         <property name="name" />
13         <property name="description" />
14 
15         <!-- users属性,本类与User的一对多 -->
16         <set name="users">
17             <key column="departmentId"></key>
18             <one-to-many class="User" />
19         </set>
20 
21         <!-- parent属性,本类与Department(上级)的多对一 -->
22         <many-to-one name="parent" class="Department" column="parentId"></many-to-one>
23 
24         <!-- children属性,本类与Department(下级)的一对多 -->
25         <set name="children">
26             <key column="parentId"></key>
27             <one-to-many class="Department" />
28         </set>
29 
30     </class>
31 
32 </hibernate-mapping>

 

第二步:通过工具自动生成表 

 

 

 多对多: 

 

实体映射 END!!!

posted @ 2017-03-18 10:56  壹毫米的距离  阅读(161)  评论(0编辑  收藏  举报