JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx

上传人:b****6 文档编号:21632598 上传时间:2023-01-31 格式:DOCX 页数:22 大小:57.38KB
下载 相关 举报
JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx_第1页
第1页 / 共22页
JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx_第2页
第2页 / 共22页
JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx_第3页
第3页 / 共22页
JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx_第4页
第4页 / 共22页
JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx

《JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx》由会员分享,可在线阅读,更多相关《JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

JSF+Spring+JPAHibernate实现的环境搭建Word文件下载.docx

--配置JSF-->

context-param>

<

param-name>

javax.faces.CONFIG_FILES<

/param-name>

param-value>

/WEB-INF/faces-config.xml<

/param-value>

/context-param>

--Spring配置文件地址-->

contextConfigLocation<

/WEB-INF/classes/applicationContext.xml<

--客户端管理状态-->

javax.faces.STATE_SAVING_METHOD<

client<

—加入facelets框架支持-->

facelets.LIBRARIES<

/WEB-INF/facelets/tags/arcmind.taglib.xml;

/WEB-INF/tomahawk.taglib.xml

description>

指定facelets支持的后缀<

/description>

javax.faces.DEFAULT_SUFFIX<

.xhtml<

--JSF的ajax配置AJAX4JSF-->

filter>

display-name>

Ajax4jsfFilter<

/display-name>

filter-name>

ajax4jsf<

/filter-name>

filter-class>

org.ajax4jsf.Filter<

/filter-class>

/filter>

filter-mapping>

servlet-name>

FacesServlet<

/servlet-name>

dispatcher>

REQUEST<

/dispatcher>

FORWARD<

INCLUDE<

/filter-mapping>

—JSF支持-->

servlet>

servlet-class>

javax.faces.webapp.FacesServlet<

/servlet-class>

load-on-startup>

1<

/load-on-startup>

/servlet>

servlet-mapping>

url-pattern>

*.faces<

/url-pattern>

/servlet-mapping>

—组件支持-->

为正确使用tomahawk组件包而配置<

extensionsFilter<

org.apache.myfaces.webapp.filter.ExtensionsFilter<

init-param>

<

uploadMaxFileSize<

10m<

/init-param>

uploadThresholdSize<

100<

/faces/*<

在WEB-INF下面加入jsf_core.tld、html_basic.tld和tomahawk.taglib.xml文件、新建一个faces-config.xml文件,内容配置如下:

--配置facelets-->

application>

locale-config>

default-locale>

zh_CN<

/default-locale>

/locale-config>

view-handler>

com.sun.facelets.FaceletViewHandler<

/view-handler>

/application>

—JSF与Spring集成-->

variable-resolver>

org.springframework.web.jsf.DelegatingVariableResolver

/variable-resolver>

再加入facelets框架的标签支持包,整个环境包大致如下图所示:

4.上面的配置好了,JSF和Spring就集成起来了。

下面我们加入JPA支持,并且将JPA和Spring集成起来。

首先加入persistence.xml文件,内容如下:

?

xmlversion="

1.0"

encoding="

UTF-8"

>

persistencexmlns="

xmlns:

xsi="

http:

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

xsi:

schemaLocation="

version="

persistence-unitname="

JSJDemoPU"

transaction-type="

RESOURCE_LOCAL"

provider>

org.hibernate.ejb.HibernatePersistence<

/provider>

class>

test.vo.Test<

/class>

properties>

--Hibernate方言(只有Hibernate才需要设置)-->

propertyname="

hibernate.dialect"

value="

org.hibernate.dialect.MySQLDialect"

/>

--Hibernate显示调试SQL-->

hibernate.show_sql"

value="

true"

--Hibernate格式化sql-->

hibernate.format_sql"

hibernate.hbm2ddl.auto"

update"

/properties>

/persistence-unit>

/persistence>

之后建立一个值对象,代码如下:

packagemangerTeam.vo;

importjava.io.Serializable;

importjava.util.Set;

importjavax.persistence.Basic;

importjavax.persistence.CascadeType;

importjavax.persistence.Column;

importjavax.persistence.Entity;

importjavax.persistence.FetchType;

importjavax.persistence.GeneratedValue;

importjavax.persistence.GenerationType;

importjavax.persistence.Id;

importjavax.persistence.JoinColumn;

importjavax.persistence.JoinTable;

importjavax.persistence.Lob;

importjavax.persistence.ManyToMany;

importjavax.persistence.ManyToOne;

importjavax.persistence.Table;

/**

*运动员实体

*

*@author刘岩

*/

@Entity

@Table(name="

player"

publicclassPlayersVOimplementsSerializable{

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

@Column(name="

id"

unique=true,nullable=false)

privateIntegerid;

name"

privateStringname;

@ManyToOne(optional=true,fetch=FetchType.LAZY)

@JoinColumn(name="

teamId"

privateTeamVOteamVO;

@ManyToOne(fetch=FetchType.LAZY)

@JoinColumn(nullable=false,name="

nationalityId"

privateNationalityVOnationalityVO;

@Lob

@Basic(fetch=FetchType.LAZY)

pic"

privatebyte[]pic;

mess"

privateStringmess;

@ManyToMany(cascade=CascadeType.REFRESH,fetch=FetchType.LAZY)

@JoinTable(name="

plays_position"

joinColumns={@JoinColumn(name="

playerId"

)},inverseJoinColumns={@JoinColumn(name="

positionId"

)})

privateSet<

PositionVO>

positions;

publicIntegergetId(){

returnid;

}

publicvoidsetId(Integerid){

this.id=id;

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){

this.name=name;

publicSet<

getPositions(){

returnpositions;

publicvoidsetPositions(Set<

positions){

this.positions=positions;

publicTeamVOgetTeamVO(){

returnteamVO;

publicvoidsetTeamVO(TeamVOteamVO){

this.teamVO=teamVO;

publicNationalityVOgetNationalityVO(){

returnnationalityVO;

publicvoidsetNationalityVO(NationalityVOnationalityVO){

this.nationalityVO=nationalityVO;

publicbyte[]getPic(){

returnpic;

publicvoidsetPic(byte[]pic){

this.pic=pic;

publicStringgetMess(){

returnmess;

publicvoidsetMess(Stringmess){

this.mess=mess;

}

之后写DAO,无论你是用IDE生成的DAO还是自己写的DAO,代码大致如下:

packagemangerTeam.dao;

importjava.util.HashMap;

importjava.util.List;

importjavax.persistence.EntityManager;

importjavax.persistence.PersistenceException;

importjavax.persistence.Query;

importmangerTeam.vo.PlayersVO;

importorg.springframework.context.ApplicationContext;

importorg.springframework.orm.jpa.JpaCallback;

importorg.springframework.orm.jpa.support.JpaDaoSupport;

importorg.springframework.transaction.annotation.Transactional;

@Transactional

publicclassPlayerDAOextendsJpaDaoSupportimplementsIPlayerDAO{

//propertyconstants

publicstaticfinalStringNAME="

;

publicstaticfinalStringMESS="

publicstaticfinalStringPIC="

publicvoidsave(PlayersVOentity){

logger.info("

savingPlayerinstance"

);

try{

getJpaTemplate().persist(entity);

logger.info("

savesuccessful"

}catch(RuntimeExceptionre){

logger.error("

savefailed"

re);

throwre;

}

publicvoiddelete(PlayersVOentity){

deletingPlayerinstance"

entity=getJpaTemplate().getReference(PlayersVO.class,

entity.getId());

getJpaTemplate().remove(entity);

deletesuccessful"

deletefailed"

publicPlayersVOupdate(PlayersVOentity){

updatingPlayerinstance"

PlayersVOresult=getJpaTemplate().merge(entity);

updatesuccessful"

returnresult;

updatefailed"

publicPlayersVOfindById(Integerid){

findingPlayerinstancewithid:

"

+id);

PlayersVOinstance=getJpaTemplate().find(PlayersVO.class,id);

returninstance;

findfailed"

@SuppressWarnings("

unchecked"

publicList<

PlayersVO>

findByProperty(StringpropertyName,

finalObjectvalue,finalint...rowStartIdxAndCount){

findingPlayerinstancewithproperty:

+propertyName

+"

value:

+value);

finalStringqueryString="

selectmodelfromPlayersVOmodelwheremodel."

+propertyName+"

=:

propertyValue"

returngetJpaTemplate().executeFind(newJpaCallback(){

publicObjectdoInJpa(EntityManagerem)

throwsPersistenceException{

Queryquery=em.createQuery(queryString);

query.setParameter("

value);

if(rowStartIdxAndCount!

=null

&

&

rowStartIdxAndCount.length>

0){

//有分页

introwStartIdx=Math.max(0,rowStartIdxAndCount[0]);

//开始页

if(rowStartIdx>

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

当前位置:首页 > 经管营销 > 企业管理

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

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