首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

自己创建 hibernate 地图ping

2012-11-11 
自己创建 hibernate mapping不一定要用 MyEclipse 的 Hibernate 框架生成数据库表的映射文件,其实很简单:?

自己创建 hibernate mapping

不一定要用 MyEclipse 的 Hibernate 框架生成数据库表的映射文件,其实很简单:
?
在 Eclipse 环境中,新建一个项目并添加 Hibernate 框架.
?
假设有两个表,分别是 MainClass 和 SubClass ,下面是两个表的表结构:(使用 MySQL 数据库)

自己创建 hibernate 地图pingCreate?table?MainClass(
自己创建 hibernate 地图ping--ID
自己创建 hibernate 地图pingMID?int?AUTO_INCREMENT?primary?key,
自己创建 hibernate 地图ping--main?class?name
自己创建 hibernate 地图pingMClsName?varchar(20)?not?null)ENGINE=MyISAM?DEFAULT?CHARSET=utf8;
自己创建 hibernate 地图ping
自己创建 hibernate 地图pingCreate?table?SubClass(
自己创建 hibernate 地图ping--sub?class?ID
自己创建 hibernate 地图pingSID?int?AUTO_INCREMENT?primary?key,
自己创建 hibernate 地图ping--sub?class?name
自己创建 hibernate 地图pingSClsName?varchar(20)?not?null,
自己创建 hibernate 地图ping--main?class?ID?(外键)
自己创建 hibernate 地图pingMID?int?not?null)ENGINE=MyISAM?DEFAULT?CHARSET=utf8;

现在来创建 MainClass 的类 MainClass.java,代码如下:

?

自己创建 hibernate 地图ping自己创建 hibernate 地图pingpublic?class?MainClass?...{
自己创建 hibernate 地图ping????private?int?mainClsId;
自己创建 hibernate 地图ping????private?String?mainClsName;
自己创建 hibernate 地图ping
自己创建 hibernate 地图ping????//?mainClsId?Getter?and?Setter
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?int?getMainClsId()?...{
自己创建 hibernate 地图ping????????return?mainClsId;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?void?setMainClsId(int?mainClsId)?...{
自己创建 hibernate 地图ping????????this.mainClsId?=?mainClsId;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping
自己创建 hibernate 地图ping????//?mainClsName?Getter?and?Setter
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?String?getMainClsName()?...{
自己创建 hibernate 地图ping????????return?mainClsId;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?void?setMainClsName(String?mainClsName)?...{
自己创建 hibernate 地图ping????????this.mainClsName?=?mainClsName;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping}
自己创建 hibernate 地图ping
自己创建 hibernate 地图ping
自己创建 hibernate 地图ping//SubClass.java,代码如下:
自己创建 hibernate 地图ping自己创建 hibernate 地图pingpublic?class?SubClass?...{
自己创建 hibernate 地图ping????private?int?subClsId;
自己创建 hibernate 地图ping????private?String?subClsName;
自己创建 hibernate 地图ping????private?int?mainClsId;
自己创建 hibernate 地图ping????private?MainClass?mainClass;
自己创建 hibernate 地图ping????
自己创建 hibernate 地图ping????//?mainClass?Getter?and?Setter
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?MainClass?getMainClass()?...{
自己创建 hibernate 地图ping????????return?mainClass;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?void?setMainClass(MainClass?mainClass)?...{
自己创建 hibernate 地图ping????????this.mainClass?=?mainClass;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping????//?mainClsId?Getter?and?Setter
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?int?getMainClsId()?...{
自己创建 hibernate 地图ping????????return?mainClsId;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?void?setMainClsId(int?mainClsId)?...{
自己创建 hibernate 地图ping????????this.mainClsId?=?mainClsId;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping????
自己创建 hibernate 地图ping????//?subClsId?Getter?and?Setter
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?int?getSubClsId()?...{
自己创建 hibernate 地图ping????????return?subClsId;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?void?setSubClsId(int?subClsId)?...{
自己创建 hibernate 地图ping????????this.subClsId?=?subClsId;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping????
自己创建 hibernate 地图ping????//?subClsName?Getter?and?Setter
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?String?getSubClsName()?...{
自己创建 hibernate 地图ping????????return?subClsName;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping自己创建 hibernate 地图ping????public?void?setSubClsName(String?subClsName)?...{
自己创建 hibernate 地图ping????????this.subClsName?=?subClsName;
自己创建 hibernate 地图ping????}
自己创建 hibernate 地图ping????
自己创建 hibernate 地图ping}

接着就是写 映射文件了,
MainClass.java 的映射文件 MainClass.hbm.xml

?

自己创建 hibernate 地图ping<?xml?version="1.0"?>
自己创建 hibernate 地图ping<!DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"
自己创建 hibernate 地图ping"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
自己创建 hibernate 地图ping<!--?
自己创建 hibernate 地图ping????Mapping?file?autogenerated?by?MyEclipse?-?Hibernate?Tools
自己创建 hibernate 地图ping-->
自己创建 hibernate 地图ping<hibernate-mapping>
自己创建 hibernate 地图ping????<class?name="com.demo.model.MainClass"?table="MainClass"?catalog="test">
自己创建 hibernate 地图ping????????<id?name="mainClsId"?type="integer"><!--name?是?MainClass.java?中的?mainClsId?属性-->
自己创建 hibernate 地图ping????????????<column?name="MID"?/><!--name?是?MainClass?表中对应的列名-->
自己创建 hibernate 地图ping????????????<generator?class="native"?/>
自己创建 hibernate 地图ping????????</id>
自己创建 hibernate 地图ping????????<property?name="mainClsName"?type="string">
自己创建 hibernate 地图ping????????????<column?name="MClsName"?length="20"?not-null="true"?/>
自己创建 hibernate 地图ping????????</property>
自己创建 hibernate 地图ping????</class>
自己创建 hibernate 地图ping</hibernate-mapping>

SubClass.java 的映射文件 SubClass.hbm.xml

?

自己创建 hibernate 地图ping<?xml?version="1.0"?>
自己创建 hibernate 地图ping<!DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"
自己创建 hibernate 地图ping"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
自己创建 hibernate 地图ping<!--?
自己创建 hibernate 地图ping????Mapping?file?autogenerated?by?MyEclipse?-?Hibernate?Tools
自己创建 hibernate 地图ping-->
自己创建 hibernate 地图ping<hibernate-mapping>
自己创建 hibernate 地图ping????<class?name="com.demo.model.SubClass"?table="SubClass"?catalog="test">
自己创建 hibernate 地图ping????????<id?name="subClsId"?type="integer"><!--name?是?SubClass.java?中的?subClsId?属性-->
自己创建 hibernate 地图ping????????????<column?name="SID"?/><!--name?是?SubClass?表中对应的列名-->
自己创建 hibernate 地图ping????????????<generator?class="native"?/>
自己创建 hibernate 地图ping????????</id>
自己创建 hibernate 地图ping????????<property?name="subClsName"?type="string">
自己创建 hibernate 地图ping????????????<column?name="SClsName"?length="20"?not-null="true"?/>
自己创建 hibernate 地图ping????????</property>
自己创建 hibernate 地图ping????????<!--这里很重要?,作用是声明这段是数据库表中的外键-->
自己创建 hibernate 地图ping????????<property?name="mainClsId"?column="MID"?/>
自己创建 hibernate 地图ping????????<!--这里的?column?,应该对应声明?外键的?name?,即?mainClsId?,而?name="mainClass"?就是?SubClass?里的一个属性-->
自己创建 hibernate 地图ping????????????????<many-to-one?name="mainClass"?column="mainClsId"?
自己创建 hibernate 地图ping????????????????????????class="com.demo.model.MainClass"?
自己创建 hibernate 地图ping????????????????????????lazy="false"?
自己创建 hibernate 地图ping????????????????????????not-found="ignore"?
自己创建 hibernate 地图ping????????????????????????cascade="none"?
自己创建 hibernate 地图ping????????????????????????insert="false"?
自己创建 hibernate 地图ping????????????????????????update="false"?/>
自己创建 hibernate 地图ping????</class>
自己创建 hibernate 地图ping</hibernate-mapping>

好..最后一步就是在 hibenate 的配置文件中加上这两个 映射文件 地址就可以了

?

自己创建 hibernate 地图ping????<mapping?resource="com/demo/model/MainClass.hbm.xml"></mapping>
自己创建 hibernate 地图ping????<mapping?resource="com/demo/model/SubClass.hbm.xml"></mapping>

?

大功告成~~~~ :)

?

来源:http://www.fish888.com/hibernate-mapping-t174284

热点排行