StrutsSpringHibernate基本设置.docx

上传人:b****5 文档编号:6401184 上传时间:2023-01-06 格式:DOCX 页数:16 大小:155.21KB
下载 相关 举报
StrutsSpringHibernate基本设置.docx_第1页
第1页 / 共16页
StrutsSpringHibernate基本设置.docx_第2页
第2页 / 共16页
StrutsSpringHibernate基本设置.docx_第3页
第3页 / 共16页
StrutsSpringHibernate基本设置.docx_第4页
第4页 / 共16页
StrutsSpringHibernate基本设置.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

StrutsSpringHibernate基本设置.docx

《StrutsSpringHibernate基本设置.docx》由会员分享,可在线阅读,更多相关《StrutsSpringHibernate基本设置.docx(16页珍藏版)》请在冰豆网上搜索。

StrutsSpringHibernate基本设置.docx

StrutsSpringHibernate基本设置

运用Struts框架实现系统的MVC三层系统的设计实现,主要就是运用了基于jstl标准的struts标签的jsp,统一的ActionServlet,以及复杂的业务逻辑处理和DB处理。

通过Hibernate通过java的reflection技术通过dbXml配置以及增删改查等sql操作的封装接口来实现持久化数据的处理,能大大地简化开发时间。

Spring通过控制反转技术,使系统技术框架实现松耦合,而且框架还实现了在事物处理上的封装等,使开发人员能够编写更干净、更可管理、并且更易于测试的代码。

使用Eclipse以及相关插件,能迅捷的实现基于Struts-Spring-Hibernate框架的系统开发。

1.基本软件:

Struts_lib:

本例使用的是strtus1.2版,包括jar包以及tld文件。

Hibernate:

本例使用的是hibernate3

SpringLib:

本例使用的是1.29版

Eclipse:

本例使用的是3.01版,带LombozWeb开发插件以及HibernateSynchronizer插件

Mysql5.01数据库

Tomcat5.0.28

JDK1.5.0.06

2.本例中数据库实例用的是test数据库,用户名root,密码1234

本例中创建了三张数据表:

分别是

class_info

+---------+-------------+------+-----+---------+----------------+

|Field|Type|Null|Key|Default|Extra|

+---------+-------------+------+-----+---------+----------------+

|id|int(11)|NO|PRI|NULL|auto_increment|

|name|varchar(20)|YES||NULL||

|teacher|varchar(20)|YES||NULL||

+---------+-------------+------+-----+---------+----------------+

students

+-----------+-------------+------+-----+---------+----------------+

|Field|Type|Null|Key|Default|Extra|

+-----------+-------------+------+-----+---------+----------------+

|seq_id|int(11)|NO|PRI|NULL|auto_increment|

|name|varchar(20)|YES||NULL||

|gender|varchar(10)|YES||NULL||

|gradeinfo|varchar(20)|YES||NULL||

+-----------+-------------+------+-----+---------+----------------+

classinfo_students

+-----------+---------+------+-----+---------+-------+

|Field|Type|Null|Key|Default|Extra|

+-----------+---------+------+-----+---------+-------+

|classid|int(11)|NO|PRI|NULL||

|studentid|int(11)|NO|PRI|NULL||

+-----------+---------+------+-----+---------+-------+

该表中给classid建立外键关联到class_info表的id字段

该表中给studentid建立外键关联到students表的seq_id字段

3.安装JDK,在系统环境中设置好JAVA_HOME的路径,以及把%JAVA_HOME%\bin目录设置到path中

在系统环境中设置好CATALINA_HOME以及TOMCAT_HOME,均指到Tomcat5.0.28的目录。

4.在Eclipse中设置JDK,“windowpreferenceJavaComplier”在其中的ComplieCompliancelevel选择5.0

在“windowpreferenceJavaInstalledJREs”中addJDK的名称以及目录[不要选您安装的JRE]

在“windowpreferenceServerInstalledRuntimes”中AddServerRuntimeforTomcat5.0

在“windowpreferenceTomcat”中设置Tomcat的Home等相关Tomcat的配置。

5.新建Web工程:

“FileNewProjecWebJ2EEWebProject”,选择Next进入以下界面

生成新的工程后,OpenJavaPerspective

同时copyspringhibernatestruts_lib下的jar包到web-inf目录的lib中,

再将struts_lib下的tld文件copy到到web-inf目录下

在工程中选择lib下的所有jar,点击鼠标右键,然后按下图操作

这样就设置好了工程的class环境了。

6.Spring+Hibernate的设置使用

选定工程,然后“FileNewOtherHibernateHibernateConfigurationFile”,选择next进入下个页面

输入密码后点击Finish,在工程主目录下会生成一个hibernate.cfg.xml文件:

xmlversion="1.0"encoding="utf-8"?

>

DOCTYPEhibernate-configuration

PUBLIC"-//Hibernate/HibernateConfigurationDTD//EN"

"

--localconnectionproperties-->

jdbc:

mysql:

//localhost:

3306/test

com.mysql.jdbc.Driver

root

1234

--propertyname="hibernate.connection.pool_size">

--dialectforMySQL设置为使用mysql语法-->

org.hibernate.dialect.MySQLDialect

--在运行时是否打印出sql语句-->

false

org.hibernate.transaction.JDBCTransactionFactory

然后再选择“FileNewOtherHibernateHibernateConfigurationFile”,点击next进入下页面,在页面中输入密码,然后再“refresh”一下,显示table的信息,然后选择class_info,再在package中如图设置,具体设置参考下图即可。

在该页面点击properties进入properties页面,在该页面中设置IDGenerator为native,native的意思是按设置使用的数据库来自动处理,如果是mysql,db2,sqlserver等自增的主键自动按“identity”处理,其它还有sequence啊等等,这里用的mysql,所以也可以设置成identity。

另外选上“GenerateSetsto….”和“UseLazyLoading”。

点击finish,会在主目录下生成ClassInfo.hbm.xml文件,将该文件copy到“com.kongfz.test.biz.classmgrbiz.dao”Package下。

然后选定该XML文件,点击右键,选择“HinernateSynchronizerSynchronizeFiles”,这样会在“com.kongfz.test.biz.classmgrbiz.dao”Package下自动生成ClassInfo类以及在该包下生成一个base包,在该包中生成BaseClassInfo类,这两个类是自动生成,其实可以完全合并。

主要的类的定义在BaseClassInfo中,其中的一些基于Hibernate的Annotation全部自动生成好了,基本不用修改

按照以上例子生成Students相关的hbm文件和Bean文件。

然后生成DAO(数据库访问处理)Interface

com.kongfz.test.biz.classmgrbiz.dao.IClassInfoDAO

com.kongfz.test.biz.classmgrbiz.dao.IStudentsDAO

以及上面接口的implementsclass:

com.kongfz.test.biz.classmgrbiz.dao.ClassInfoDAO

com.kongfz.test.biz.classmgrbiz.dao.StudentsDAO

根据示例程序生成相关Dao的代码,代码很简单,除了特殊的需要使用到复杂查询以及联合查询的,需要自己按照HQL语法或者通常SQL语法操作执行外,其他基本一样,非常简单。

另外再生成BizMgr(业务逻辑处理)Interface

com.kongfz.test.biz.classmgrbiz.IClassSelectBizMgr

以及上面接口的implementsclass:

com.kongfz.test.biz.classmgrbiz.ClassSelectBizMgr

业务处理会涉及对多个DAO的处理,在该BizMgr类中设置这些DAO接口成员对象以及对这些成员对象的set方法。

根据示例程序生成相关BizMgr的代码。

代码主要涉及对DAO接口的调用处理,实现代码也非常的简洁简单,由于要使用spring框架来处理,所以这里也根本不必太考虑事务,只是要求把要求同一事物处理的操作放在BizMgr的同一个方法中即可。

生成以上数据Bean/Dao/BizMgr的类以后,可以使用spring来配置,例如“com.kongfz.test.biz.classmgrbiz”下的spring.xml文件

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN2.0//EN""http:

//www.springframework.org/dtd/spring-beans-2.0.dtd">

class="mons.dbcp.BasicDataSource">

com.mysql.jdbc.Driver

jdbc:

mysql:

//localhost:

3306/test

root

1234

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

org.hibernate.dialect.MySQLDialect

true

com/kongfz/test/biz/classmgrbiz/dao/ClassInfo.hbm.xml

com/kongfz/test/biz/classmgrbiz/dao/Students.hbm.xml

class="org.springframework.orm.hibernate3.HibernateTemplate">

class="com.kongfz.test.biz.classmgrbiz.dao.ClassInfoDAO">

class="com.kongfz.test.biz.classmgrbiz.dao.StudentsDAO">

class="com.kongfz.test.biz.classmgrbiz.ClassSelectBizMgr">

*BizMgr

interceptor

然后再写一个测试的class,例如示例程序中的com.kongfz.test.biz.classmgrbiz.Mytes

在Main方法中可以测试任何一个BizMgr的接口。

7.Struts的使用

首先设置生成的web工程下的web.xml文件,例如:

xmlversion="1.0"encoding="UTF-8"?

>

xsi="http:

//www.w3.org/2001/XMLSchema-instance"xsi:

schemaLocation="

myTestWeb01

com.kongfz.test.util.ApplicationListener

action

org.apache.struts.action.ActionServlet

config

/WEB-INF/struts-config.xml

debug

2

2

action

*.do

logon.jsp

/WEB-INF/struts-bean.tld

/WEB-INF/struts-bean.tld

/WEB-INF/struts-html.tld

/WEB-INF/struts-html.tld

/WEB-INF/struts-logic.tld

/WEB-INF/struts-logic.tld

然后再生成com.kongfz.test.action.LogonFormextendsActionForm以及

com.kongfz.test.action.ClassFormextendsActionForm,其中的类属性成员名全部是原型页面中Form表单的输入项(input,select)标签的name属性名字,这命名必须一致,然后每个属性必须按照通用规则生成相应的set/get方法。

再生成com.kongfz.test.action.LogonActionextendsDispatchAction以及

com.kongfz.test.action.ClassManagerActionextendsDispatchAction,其中ClassManagerAction中因为涉及处理业务逻辑,所以需要定义一个IclassSelectBizMgr接口对象,以及该对象的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1