快速业务通道

使用SpringSide 3.1.4.3开发Web项目的全过程(上) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
暦 -->      <tx:annotation-driven transaction- manager="transactionManager" /> </beans>

喇噐SpringSide音戻工Mysql議jdbc駁強?侭參俶勣徭失肇MySQL議郊圭利嫋 和墮?繍和墮欺議mysql-connector-5.*.jar鹸崙欺?朕議WEB-INF嶄議lib朕村 嶄。隼朔塰佩?朕?撹孔。崛緩?撹孔繍?朕濡卞欺MySQL嶄。

使用SpringSide 3.1.4.3开发Web项目的全过程(上)(7)

时间:2010-12-20 BlogJava 海边沫沫

第六步、添加数据表、编写Entity类、编写Dao类、Manager类,并进行单元 测试。还是以前几篇文章中提到的文章发布系统为例,每一篇文章对应多篇评论 ,所以说据库中需创建articles和comments两个数据表,如下:

create   table  articles( id  int   primary   key  auto_increment, subject  varchar ( 20 )  not   null , content  text ); create   table  comments( id  int   primary   key  auto_increment, content  varchar ( 255 ), article_id  int   not   null , foreign   key  (article_id)  references  articles(id) );

在编写Java代码之前,我还要做一点小工作,什么工作呢?那就是要为我自 己的项目创建一个单独的源文件夹,因为src\main\java这个文件夹已经被江南 白衣放入了太多的package,而且因为涉及到security,所以层次也不明显,操 作起来不方便,找起代码来也不够快。下面是我创建了自己的源文件夹后的截图 :

在我自己的源文件夹中,只创建了四个package,刚好代表从底到上的四个层 次,这样,找起代码来要方便得多。

先来Entity层,Article.java的代码如下:

package personal.youxia.entity; import java.util.LinkedHashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; @Entity // 表名与类名不相同时重新定义表名. @Table(name = "articles") // 默认的缓存策略. @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class Article extends IdEntity {      private String subject;      private String content;      private Set<Comment> comments = new  LinkedHashSet<Comment>();      public String getSubject() {          return subject;      }      public void setSubject(String subject) {          this.subject = subject;      }      public String getContent() {          return content;      }      public void setContent(String content) {          this.content = content;      }      @OneToMany(cascade = { CascadeType.ALL })      @JoinColumn(name = "article_id")      // Fecth策略定义      @Fetch(FetchMode.SUBSELECT)      // 集合按id排序.      @OrderBy("id")      // 集合中对象id的缓存.      @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)      public Set<Comment> g

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号