使用Annotation并对DAO层封装具有分页功能的S2SH整合实例

阅读更多
Google 标签: 使用Annotation并对DAO层封装具有分页功能的S2SH整合实例 李顺利 Annotation DAO层封装 分页 SSH整合 实例 黎活明 传智播客 巴巴运动网

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例

 

李顺利

2010124

目录

关键词... 2

前言... 2

开发环境... 2

开发步骤... 2

环境的集成... 2

Struts2.1.8所需Jar... 2

Hibernate3.3所需Jar... 3

Spring3.0所需Jar... 3

基于AnnotationStruts配置... 4

基于AnnotationHibernate配置... 5

基于AnnotationSpring配置... 10

DAO层封装... 12

分页... 19

业务逻辑... 21

测试... 22

实例结果... 23

参考网站... 23

源码下载... 23

学习探讨... 23

 

 


关键词

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例,李顺利,AnnotationDAO层封装,分页,SSH整合,实例,黎活明,传智播客,巴巴运动网

前言

       现在Annotation越来越流行,最近一段时间也学了一些,EJB3.0HibernateSpring等都很好地支持Annotation,而且熟悉了Annotation的话整个项目开发时间会缩短,代码封装比较好,但是封装带来的就是代码阅读就比较困难了。Annotation也是一门知识,可以选择使用Annotation还是其他。个人认为由Sun官方支持的EJB规范会越来越流行,此时如果使用基于AnnotationSSH框架很容易转移到Struts+EJB+Spring的项目中,而且使用Annotation,很容易实现0配置,像在这个实例中就一个配置,这样避免了配置文件多而不知所措的情况。

开发环境

Jdk1.5+Struts2.1.8+Hibernate3.3+Spring3.0+MySql5.0+MyEclipse8.0

开发步骤

环境的集成

到官网下载上面开发环境中的框架和工具,安装完成后。在Myeclipse中新建名为SSHWithAnnotationDemoweb project,添加SSH整合所需要的包,这里详细说一下需要哪些包?

Struts2.1.8所需Jar

xwork-core-2.1.6.jaraopalliance-1.0.jarcommons-logging-1.0.4.jarcommons-fileupload-1.2.1.jarcommons-io-1.3.2.jarfreemarker-2.3.15.jarognl-2.7.3.jarstruts2-convention-plugin-2.1.8.1.jarstruts2-core-2.1.8.1.jarstruts2-spring-plugin-2.1.8.jar

       使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第1张图片

其中下文会对struts2-convention-plugin插件进行详细讲解。

Hibernate3.3所需Jar

slf4j-log4j12.jarantlr-2.7.6.jarcommons-collections-3.1.jardom4j-1.6.1.jarejb3-persistence.jarhibernate3.jarhibernate-annotations.jarhibernate-commons-annotations.jarjavassist-3.9.0.GA.jarjta-1.1.jarlog4j.jarslf4j-api-1.5.8.jar

       使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第2张图片

Spring3.0所需Jar

org.springframework.web-3.0.0.RC1.jarorg.springframework.aop-3.0.0.RC1.jarorg.springframework.asm-3.0.0.RC1.jarorg.springframework.beans-3.0.0.RC1.jar

org.springframework.context-3.0.0.RC1.jarorg.springframework.core-3.0.0.RC1.jarorg.springframework.expression-3.0.0.RC1.jarorg.springframework.jdbc-3.0.0.RC1.jarorg.springframework.orm-3.0.0.RC1.jarorg.springframework.test-3.0.0.RC1.jarorg.springframework.transaction-3.0.0.RC1.jar

 

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第3张图片

还有一些其他的辅助Jar包:

mysql-connector-java-5.1.7-bin.jaraspectjweaver.jarcommons-dbcp-1.2.2.jarcommons-pool.jarjunit-4.6.jar

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第4张图片

上面的Jar包都可以在相应的框架Jar文件夹里面找到,具体的Jar包作用如果不清楚的话请Google一下。为了方便,顺利提供所有这些Jar包下载。

顺利提供下载:
文 件 名:Struts2.1.8+Hibernate3.3+Spring3.0整合所需Jar包.rar
下载地址:http://usc.googlecode.com/files/Struts2.1.8%2BHibernate3.3%2BSpring3.0%E6%95%B4%E5%90%88%E6%89%80%E9%9C%80Jar%E5%8C%85.rar
请复制上面的链接下载 

 

       加入Jar包后,就可以进行SSH框架的整合了。


基于AnnotationStruts配置

使用AnnotationStruts配置可以实现0配置,这个时候就不需要对Struts.xml进行任何的配置,0配置的实现主要是使用struts2-convention-plugin插件。大致介绍下convention-plugin插件。

1.      默认所有的结果页面都存储在WEB-INF/content

2.      命名规则:去掉类名的Action部分。然后将将每个分部的首字母转为小写,用’-’分割。

a)        举例:TestAction,那么访问的时候就是test.action;

b)        举例:StudentListAction,那么访问的时候就是student-list.action

3.        常用的Annotation

a)        @Controller:申明Struts为控制层;

b)        @Scope("prototype"):申明Struts的范围为原型;

c)        @Results:全局的结果集,可以配置execute执行后跳转的页面。

@Results({ @Result(name = "success", location = "teacher/teacherList.jsp"), @Result(name = "input", location = "/index.jsp") })

通过convention-plugin插件就可以很简单的配置Struts的配置, 如果想更好地了解convention-plugin插件请查看下面的网站或者自己Google一下。

http://cwiki.apache.org/WW/convention-plugin.html

http://javeye.javaeye.com/blog/358744

http://yzl45.javaeye.com/blog/346632

代码举例:

import org.apache.struts2.convention.annotation.Result;

import org.apache.struts2.convention.annotation.Results;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Controller;

 

import com.opensymphony.xwork2.ActionSupport;

/**

 * 测试convention-plugin插件

 */

 

@Controller

@Scope("prototype")

@Results(

{ @Result(name = "success", location = "test/test.jsp"), @Result(name = "input", location = "/index.jsp") })

//成功的页面会跳到WebRoot/WEB-INF/content/test/test.jsp,失败会跳到WebRoot/index.jsp

public class TestAction extends ActionSupport

{

    /*

     * @see com.opensymphony.xwork2.ActionSupport#execute()

     */

    @Override

    public String execute() throws Exception

    {

       System.out.println("测试convention-plugin插件");

       return INPUT;

    }

}

 

基于AnnotationHibernate配置

HibernateAnnotation方式很类似于EJB中的JPA,主要的Annotation注解是:@Entity@Table@Id@GeneratedValue@Column 。具体的注解请上网查看一下。这里介绍一种简便的方法生成基于AnnotationHibernate持久类。

1.  使用Myeclipse添加对Hibernate的支持

右键项目,选择MyEclipse后选择Add hibernate Capabilities(一般都会先添加对Spring的支持后在添加对Hibernate的支持,这样会使用Spring管理Hibernate

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第5张图片

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第6张图片

这个时候就不需要选择Jar包了,HibernateJar已经加入进来,Next,选择Spring的配置文件,这样可以使用Spring进行管理Hibernate(这也是为什么要先添加对Spirng的支持),Next

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第7张图片

选择已经存在的Spring配置文件

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第8张图片

后选择已经创建好的DateSource

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第9张图片

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第10张图片

即可,详情请阅读Struts+Spring+Hibernate整合注册登录——使用Myeclipse快速开发,里面有详细的介绍。

2.  进入生成DB Brower视图(可以通过windows->show View找到)

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第11张图片

找到后连接MySql数据库后,即可生成Hibernate的持久类使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第12张图片

使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_第13张图片

生成的实例代码

@Entity

@Table(name = "student", catalog = "test")

public class Student implements java.io.Serializable

{

 

    // Fields

 

    private Integer no;

    private String name;

    private String sex;

    private Integer age;

    private Double score;

    private Date eduTime;

 

    // Constructors

 

    /** default constructor */

    public Student()

    {

    }

 

; color: black; font-size: 8pt;

  • Struts2下多文件的上传与下载
    2010-01-07 21:21 463
    Googel 标签: 多文件 ;上传 ;下载 ;随意文件 ;j ...
  • Javadoc转换chm帮助文档的四种方法总结
    2010-01-07 21:26 6341
    Googel 标签: Javadoc chm 转换 ;Java ...
  • 尚学堂Spring学习笔记
    2010-01-07 21:07 635
    Googel 标签: 李顺利 ;Java ;Java EE ; ...
  • Struts+Spring+Hibernate整合注册登录——使用Myeclipse快速开发
    2010-01-07 21:09 813
    Googel 标签: 李顺利 ;Java ;Java EE ; ...
  • 如何自定义Struts2表单验证后的错误信息显示格式/样式_把错误信息放在后面
    2010-01-07 21:15 1036
    Googel 标签: 李顺利 ;Java ;Java EE ; ...
  • 真实Java项目中的版本管理
    2010-01-07 21:17 477
    真实Java项目中的版本管理 ——在线版本控制之SubVers ...
  • Java开发Web程序中修改类文件和配置文件不重启服务器的方法
    2010-01-07 21:19 549
    Googel 标签: 李顺利 ;Java ;Java EE ; ...
  • 如何个性化地生成Javadoc文档
    2010-01-12 18:42 2412
    Googel 标签: 个性化地生成Javadoc文档 ;svn ...
  • 使用配置文件对DAO层封装具有分页功能的S2SH整合实例
    2010-03-12 10:05 873
    Google 标签: 使用配置文� ...
  • Tomcat7.0小试,无法启动的解决办法
    2010-07-01 22:41 2247
    Tomcat7.0小试,无法启动的解决办法

你可能感兴趣的:(DAO,Hibernate,Spring,Struts,SSH)