mysql sycho_2005年12月23日
开发环境的塔建我就不多说了,具体可以参考我以前的几篇日志。
在Eclipse中新建一个动态Web工程,将Struts 、Spring、Hibernate需要的jar都添加到WEB-INF/lib目录下,
将Struts标签所需的tld文件、struts-config.xml文件(可以由StrutsIDE生成)添加到WEB-INF下,另外在
此目录下添加一个Spring的配置文件applicationContext.xml。
我参考的例子是夏昕的《深入浅出Hibernate》上的第6章,很好的一个论坛示例。
首先按照书上的ER模型,在数据库(MySQL)中建立相应的数据库。
create database forum;
use forum;
create table user(
id int not null auto_increment primary key,
name varchar(50),
pwd varchar(50),
email varchar(50)
)type=innodb;
create table board(
id int not null auto_increment primary key,
parent_id int,
create_by int not null,
name varchar(50) not null,
remark varchar(255),
create_time datetime,
index(parent_id),
index(create_by),
foreign key(parent_id) references board(id) on delete cascade,
foreign key(create_by) references user(id) on delete no action
)type=innodb;
create table article(
id int not null auto_increment primary key,
parent_id int ,
board_id int not null,
article_type int not null,
title varchar(255),
body text,
create_by int not null,
create_time datetime,
hits int unsigned,
bytes int unsigned,
last_update_by int not null,
last_update_time datetime,
index(parent_id),
index(board_id),
index(create_by),
index(last_update_by),
foreign key(parent_id) references article(id) on delete no action,
foreign key(board_id) references board(id) on delete cascade,
foreign key(create_by) references user(id) on delete no action,
foreign key(last_update_by) references user(id) on delete no action
)type=innodb;
之后,我选择了用Hibernate Sychonizer来生成映射文件和实体类,然后对生成的类进行修改(删掉了生成的Base类),
实际上Hibernate Sychonizer生成的映射文件也有错误,需要修改,我也是后来在使用中发现的。
//User.hbm.xml
/p>
"-//Hibernate/Hibernate Mapping DTD//EN"
"
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
" >
name="User"
table="user"
>
name="Id"
type="integer"
column="id"
>
name="Name"
column="name"
type="string"
not-null="false"
length="50"
/>
name="Pwd"
column="pwd"
type="string"
not-null="false"
length="50"
/>
name="Email"
column="email"
type="string"
not-null="false"
length="50"
/>
【这里的create_by是后来修改的,Hibernate Sychonizer生成的有错,后面有几处同样的错误】
【这里的create_by是后来修改的】
//User.java
package com.lzy.forum.domain;
public class User{
private static final long serialVersionUID = 1L;
// primary key
private java.lang.Integer id;
// fields
private java.lang.String name;
private java.lang.String pwd;
private java.lang.String email;
// collections
private java.util.Set articlesByLastUpdateBy;
private java.util.Set articlesByCreateBy;
private java.util.Set boards;
public java.util.Set getArticlesByCreateBy() {
return articlesByCreateBy;
}
public void setArticlesByCreateBy(java.util.Set articlesByCreateBy) {
this.articlesByCreateBy = articlesByCreateBy;
}
public java.util.Set getArticlesByLastUpdateBy() {
return articlesByLastUpdateBy;
}
public void setArticlesByLastUpdateBy(
java.util.Set articlesByLastUpdateBy) {
this.articlesByLastUpdateBy = articlesByLastUpdateBy;
}
public java.util.Set getBoards() {
return boards;
}
public void setBoards(java.util.Set boards) {
this.boards = boards;
}
public java.lang.String getEmail() {
return email;
}
public void setEmail(java.lang.String email) {
this.email = email;
}
public java.lang.Integer getId() {
return id;
}
public void setId(java.lang.Integer id) {
this.id = id;
}
public java.lang.String getName() {
return name;
}
public void setName(java.lang.String name) {
this.name = name;
}
public java.lang.String getPwd() {
return pwd;
}
public void setPwd(java.lang.String pwd) {
this.pwd = pwd;
}
}
//Board.hbm.xml
/p>
"-//Hibernate/Hibernate Mapping DTD//EN"
"
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
" >
name="Board"
table="board"
>
false
name="Id"
type="integer"
column="id"
>
name="Name"
column="name"
type="string"
not-null="true"
length="50"
/>
name="Remark"
column="remark"
type="string"
not-null="false"
length="255"
/>
name="CreateTime"
column="create_time"
type="timestamp"
not-null="false"
length="19"
/>
name="CreateBy"
column="create_by"
class="User"
not-null="true"
>
name="Parent"
column="parent_id"
class="Board"
not-null="false"
lazy="false">
【这里的board_id是后来修改的】
【这里的parent_id是后来修改的】
//Board.java
package com.lzy.forum.domain;
public class Board {
private static final long serialVersionUID = 1L;
// primary key
private java.lang.Integer id;
// fields
private java.lang.String name;
private java.lang.String remark;
private java.util.Date createTime;
// many to one
private com.lzy.forum.domain.User createBy;
private com.lzy.forum.domain.Board parent;
// collections
private java.util.Set articles;
private java.util.Set childBoards;
public java.util.Set getArticles() {
return articles;
}
public void setArticles(java.util.Set articles) {
this.articles = articles;
}
public java.util.Set getChildBoards() {
return childBoards;
}
public void setChildBoards(java.util.Set childBoards) {
this.childBoards = childBoards;
}
public com.lzy.forum.domain.User getCreateBy() {
return createBy;
}
public void setCreateBy(com.lzy.forum.domain.User createBy) {
this.createBy = createBy;
}
public java.util.Date getCreateTime() {
return createTime;
}
public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime;
}
public java.lang.Integer getId() {
return id;
}
public void setId(java.lang.Integer id) {
this.id = id;
}
public java.lang.String getName() {
return name;
}
public void setName(java.lang.String name) {
this.name = name;
}
public com.lzy.forum.domain.Board getParent() {
return parent;
}
public void setParent(com.lzy.forum.domain.Board parent) {
this.parent = parent;
}
public java.lang.String getRemark() {
return remark;
}
public void setRemark(java.lang.String remark) {
this.remark = remark;
}
}
//Article.hbm.xml
/p>
"-//Hibernate/Hibernate Mapping DTD//EN"
"
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
" >
name="Article"
table="article"
>
false
name="Id"
type="integer"
column="id"
>
name="ArticleType"
column="article_type"
type="integer"
not-null="true"
length="11"
/>
name="Title"
column="title"
type="string"
not-null="false"
length="255"
/>
name="Body"
column="body"
type="string"
not-null="false"
/>
name="Hits"
column="hits"
type="integer"
not-null="false"
length="10"
/>
name="Bytes"
column="bytes"
type="integer"
not-null="false"
length="10"
/>
name="CreateTime"
column="create_time"
type="timestamp"
not-null="false"
length="19"
/>
name="LastUpdateTime"
column="last_update_time"
type="timestamp"
not-null="false"
length="19"
/>
name="LastUpdateBy"
column="last_update_by"
class="User"
not-null="true"
>
name="CreateBy"
column="create_by"
class="User"
not-null="true"
>
name="Parent"
column="parent_id"
class="Article"
not-null="false"
>
name="Board"
column="board_id"
class="Board"
not-null="true"
>
【这里的parent_id是后来修改的】
//Article.java
package com.lzy.forum.domain;
import java.util.Date;
public class Article {
private static final long serialVersionUID = 1L;
// primary key
private java.lang.Integer id;
// fields
private java.lang.Integer articleType;
private java.lang.String title;
private java.lang.String body;
private java.lang.Integer hits;
private java.lang.Integer bytes;
private java.util.Date lastUpdateTime;
private java.util.Date createTime;
// many to one
private com.lzy.forum.domain.User lastUpdateBy;
private com.lzy.forum.domain.User createBy;
private com.lzy.forum.domain.Article parent;
private com.lzy.forum.domain.Board board;
// collections
private java.util.Set articles;
public java.util.Set getArticles() {
return articles;
}
public void setArticles(java.util.Set articles) {
this.articles = articles;
}
public java.lang.Integer getArticleType() {
return articleType;
}
public void setArticleType(java.lang.Integer articleType) {
this.articleType = articleType;
}
public com.lzy.forum.domain.Board getBoard() {
return board;
}
public void setBoard(com.lzy.forum.domain.Board board) {
this.board = board;
}
public java.lang.String getBody() {
return body;
}
public void setBody(java.lang.String body) {
this.body = body;
}
public java.lang.Integer getBytes() {
return bytes;
}
public void setBytes(java.lang.Integer bytes) {
this.bytes = bytes;
}
public com.lzy.forum.domain.User getCreateBy() {
return createBy;
}
public void setCreateBy(com.lzy.forum.domain.User createBy) {
this.createBy = createBy;
}
public java.lang.Integer getHits() {
return hits;
}
public void setHits(java.lang.Integer hits) {
this.hits = hits;
}
public java.lang.Integer getId() {
return id;
}
public void setId(java.lang.Integer id) {
this.id = id;
}
public com.lzy.forum.domain.User getLastUpdateBy() {
return lastUpdateBy;
}
public void setLastUpdateBy(com.lzy.forum.domain.User lastUpdateBy) {
this.lastUpdateBy = lastUpdateBy;
}
public java.util.Date getLastUpdateTime() {
return lastUpdateTime;
}
public void setLastUpdateTime(java.util.Date lastUpdateTime) {
this.lastUpdateTime = lastUpdateTime;
}
public com.lzy.forum.domain.Article getParent() {
return parent;
}
public void setParent(com.lzy.forum.domain.Article parent) {
this.parent = parent;
}
public java.lang.String getTitle() {
return title;
}
public void setTitle(java.lang.String title) {
this.title = title;
}
public java.util.Date getCreateTime(){
return createTime;
}
public void setCreateTime(java.util.Date createTime) {
// TODO Auto-generated method stub
this.createTime = createTime;
}
mysql sycho_2005年12月23日相关推荐
- 英语听说计算机考试演练专用,新中考首次英语听说机考12月23日举行,9月28日全体中学生模拟演练!...
原标题:新中考首次英语听说机考12月23日举行,9月28日全体中学生模拟演练! 2018年本市将实施新的中考改革方案,中考首次将英语口语考试纳入考试内容,英语听力和口语考试与笔试分离,每名考生有两次考 ...
- 2017广东全国计算机12月,2018年广东考研时间:2017年12月23日至24日
2018年考研时间已经公布,出国留学考研网为大家提供2018年广东考研时间:2017年12月23日至24日,更多考研资讯请关注我们网站的更新! 2018年广东考研时间:2017年12月23日至24日 ...
- 伊洛纳服务器维护,《伊洛纳》【公告】伊洛纳12月23日正式服版本更新
---------更新公告--------- Hello,亲爱的各位冒险家: 我们预计将在2020年12月23日 5:00-2020年12月23日9:00进行停服维护,维护期间将无法登录游戏,请提前做 ...
- 湖北省计算机二级报名时间2020年12,2020年3月湖北省计算机等级考试报名_时间:12月10日-12月23日...
湖北省 计算机等级 导语:2020年3月全国计算机等级考试将于3月28日-30日举行,小编整理了湖北省报名时间,供大家参考,欢迎大家点击查看!更多计算机考试动态|模拟试题|历年真题请关注计算机学习网! ...
- 本固枝荣--前端体验大会12月23日深圳场
12月23日深圳前端体验大会(本固枝荣) 作为一个后台开发,完整地参加一整天的分享会议,收获还是挺多的.就我个人而言,前端开发者的心态要比后台开发更Open.更乐于拥抱新技术.整个大会的开始和结束也回 ...
- 12月25日服务器例行维护公告,12月23日服务器例行维护公告
亲爱的玩家: 青龙乱舞区.大地飞鹰区.血海飘香区.名剑风流区.陌上花开区全部服务器将在12月23日6:00~8:00停机维护更新,维护完成后上述各服务器客户端版本号升级至1.1.27.5.本次维护主要 ...
- 魅族android11,Flyme安卓11来了!12月23日开启,魅族17系列独享
原标题:Flyme安卓11来了!12月23日开启,魅族17系列独享 点击右上角关注我们,每天给您带来最新最潮的科技资讯,让您足不出户也知道科技圈大事! 12月22日,魅族Flyme官方宣布,魅族17系 ...
- 冰原服务器维护,12月23日(周四)服务器更新维护公告
首款纯修真2D回合制游戏<问道>以其精良的画质,丰富的玩法,完善的系统受到了无数玩家的喜爱和支持,为了给玩家提供一个更优良的游戏坏境,<问道>运营团队将于12月23日(周四)对 ...
- 2019年12月23日--2019年12月29日(合计38小时,剩9962小时)
2019年12月23日 1,HLSL精讲,19.3剪裁 2,3d图形数学:2.4及相应代码 3,windows核心编程:6.5.2 4,鬼火引擎,ISceneNode 5,整合gis代码 6,cesi ...
- nova 8什么时候可以用鸿蒙,12月23日发布!华为Nova 8会用上有鸿蒙OS系统吗?
尽管受到芯片禁令限制,但是华为的手机发布计划,似乎并未受到太大影响,前段时间刚刚发布了华为Mate 40系列,近日又宣布将在12月23日发布华为Nova 8.虽然目前华为官微上并没有曝光太多有关这款手 ...
最新文章
- 潘建伟团队最新研究成果登上Nature:首次实现1120公里长距离无中继纠缠量子密钥分发...
- python僵尸进程和孤儿进程_python中多进程应用及僵尸进程、孤儿进程
- MicroProfile OpenAPI上的Swagger UI
- TensorFlow 学习(七) — 常用函数 api、tf.nn、tf.keras
- 英语四级阅读猜题的技巧
- 483. Smallest Good Base
- express在本地起一个简单服务器可能会用到的(本文用的uniapp做例子)
- Delphi7中idhttp和superobject获取网页中文乱码解决办法
- r语言中v1=c(v1i),1 R语言介绍 | R语言教程
- 大前研一/聰明人必做的十件事
- tensorflow-ckpt2npy
- 论文阅读:Action Genome: Actions as Composition of Spatio-temporal Scene Graphs
- C++11新特性 - 侯捷
- UG三轴产品编程3D图档-刀路图档550例
- 差分隐私若干基本知识点介绍(一)
- 四川农业大学计算机科学技术专业,四川农业大学计算机系简介
- 上面两点下面一个三角形_【知识点】三角形全等的判定+性质+辅助线技巧都在这里了!...
- 什么是决策树?(详解)
- 软件测试一支笔的用途,面试解答:写出一支笔的20种用途
- KVM虚拟机网络配置方式 (Bridge方式 Nat方式)(转载)
热门文章
- 使用 artTemplate 渲染数组
- Selenium 方法封装 一
- Codeforces Beta Round #1 B. Spreadsheets 模拟
- WAP网站源代码--WAP新闻(文章)系统调试实战
- python dict下标_牛鹭学院:必须掌握的Python数据结构知识
- 拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
- 拓端tecdat|Python中的Apriori关联算法-市场购物篮分析
- html是一种制作万维网页面的标准语言,计算机网络基础练习选择题
- 360n7手机断网没信号_你的手机信号为什么总比别人差?原因没那么简单
- css基础知识汇总6