ExtJS实战(2)-hibernate

现在我们已经看过了主要项目截图,并且利用MyEclipse加入了SSH的支持和其它框架的JAR包,搭建好了我们的应用环境。(这里因为MyEclipse自动导入的各个框架的包会存在版本冲突,所以我们建议只加入MyEclipse对各大框架的支持,完了后将它自动导入的JAR包从项目中移除,换成我们自己下载的包,这样可以更好的控制,做到所用的JAR包心中有数!),任何应用,数据库总是要先设计好。以下是本应用的SQL脚本:

create database houseProject

go

use houseProject

go

create table [user]--用户

(

uid int primary key identity(1,1),

uname varchar(30),

upass varchar(30)

)

insert into [user] values('leno','leno')

insert into [user] values('oak','oak')

insert into [user] values('java','java')

create table area--区域

(

aid int primary key identity(1,1),

aname varchar(30),

)

insert into area values('洪山区')

insert into area values('江汉区')

insert into area values('硚口区')

insert into area values('江岸区')

create table street--街道

(

sid int primary key identity(1,1),

sname varchar(30),

aid int,

foreign key(aid) references area(aid)

)

go

insert into street values('武珞路',1)

insert into street values('珞狮路',1)

insert into street values('新华路',2)

insert into street values('建设大道',2)

insert into street values('中山大道',3)

insert into street values('崇仁路',3)

insert into street values('临江大道',4)

insert into street values('沿江大道',4)

--drop table house

create table house--租房信息

(

hid int primary key identity(1,1),

title varchar(100),

hireprice numeric(6,1),

booktime datetime,

linkman varchar(30),

linktel varchar(20),

housething varchar(200),

room int,--

ting int,--

uid int,--用户

sid int,--街道

foreign key(uid) references [user](uid),

foreign key(sid) references street(sid)

)

insert into house values('太好的房子!',1000,'<chsdate year="2008" month="8" day="24" islunardate="False" isrocdate="False" w:st="on">2008-8-24</chsdate>','张先生','13326446513','床、柜子、沙发、天然气、暖气、灶具、热水器、煤气罐、电话、宽带、防盗门',2,1,1,1)

insert into house values('风水不错!',1800,'<chsdate year="2007" month="8" day="21" islunardate="False" isrocdate="False" w:st="on">2007-8-21</chsdate>','李先生','13871546513','床、柜子、沙发、煤气罐、电话、宽带、闭路电视、防盗门',2,2,3,2)

insert into house values('不错的新房子哦!',3100,'<chsdate year="2008" month="8" day="27" islunardate="False" isrocdate="False" w:st="on">2008-8-27</chsdate>','林女士','13197656513','床、柜子、沙发、天然气、暖气、灶具、热水器、煤气罐、宽带、闭路电视',3,1,8,3)

insert into house values('机会不要错过!',2700,'<chsdate year="2006" month="8" day="21" islunardate="False" isrocdate="False" w:st="on">2006-8-21</chsdate>','王先生','13621546513','床、柜子、沙发、天然气、灶具、热水器、煤气罐、电话、宽带、闭路电视、防盗门',1,1,3,4)

insert into house values('不错的新房子哦!',2200,'<chsdate year="2008" month="9" day="21" islunardate="False" isrocdate="False" w:st="on">2008-9-21</chsdate>','秦小姐','13029806513','床、柜子、沙发、天然气、暖气、灶具、热水器',1,1,1,5)

insert into house values('物超所值!',700,'<chsdate year="2008" month="9" day="22" islunardate="False" isrocdate="False" w:st="on">2008-9-22</chsdate>','张先生','13621546513','床、柜子、沙发、天然气、暖气、热水器、煤气罐、电话、宽带、闭路电视、防盗门',3,1,1,6)

insert into house values('不错的新房子哦!',2800,'<chsdate year="2008" month="10" day="17" islunardate="False" isrocdate="False" w:st="on">2008-10-17</chsdate>','张先生','13987546513','床、柜子、',2,1,1,7)

insert into house values('湖边的好房子!',1900,'<chsdate year="2008" month="10" day="11" islunardate="False" isrocdate="False" w:st="on">2008-10-11</chsdate>','卫先生','13234546513','床、柜子、沙发、天然气、暖气、灶具、热水器、电话、宽带、闭路电视、防盗门',3,2,8,7)

insert into house values('不经典的新房子哦!',3000,'<chsdate year="2008" month="11" day="3" islunardate="False" isrocdate="False" w:st="on">2008-11-3</chsdate>','黄先生','13112546513','床、柜子、暖气、灶具、热水器、煤气罐、宽带、闭路电视、防盗门',3,3,1,8)

注意这里四张表之间的关系:

利用MyEclipse反转这四张Table生成对应的POJO类和Mapping映射文件,这是机械化的工作。只是有一点要强调的是在反转之前,要先建立好MyEclipse和前面创建的数据库的连接。在反转之后,MyEclipse会自动将映射信息添加到hibernate.cfg.xml上。我们来看一下MyEclipse自动生成的对应house表的House类和它们的映射文件:

package org.leno.houseHire.dao;

import java.util.Date;

/**

* House entity.

*

* @author MyEclipse Persistence Tools

*/

public class House implements java.io.Serializable {

// Fields

private Integer hid;

private Street street;

private User user;

private String title;

private Double hireprice;

private Date booktime;

private String linkman;

private String linktel;

private String housething;

private Integer room;

private Integer ting;

// Constructors

/** default constructor */

public House() {

}

/** full constructor */

public House(Street street, User user, String title, Double hireprice,

Date booktime, String linkman, String linktel, String housething,

Integer room, Integer ting) {

this.street = street;

this.user = user;

this.title = title;

this.hireprice = hireprice;

this.booktime = booktime;

this.linkman = linkman;

this.linktel = linktel;

this.housething = housething;

this.room = room;

this.ting = ting;

}

// Property accessors

public Integer getHid() {

return this.hid;

}

public void setHid(Integer hid) {

this.hid = hid;

}

public Street getStreet() {

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值