1124魏博文Springmvc Hibernate框架结合使用.docx

上传人:b****4 文档编号:11590715 上传时间:2023-03-19 格式:DOCX 页数:11 大小:113.61KB
下载 相关 举报
1124魏博文Springmvc Hibernate框架结合使用.docx_第1页
第1页 / 共11页
1124魏博文Springmvc Hibernate框架结合使用.docx_第2页
第2页 / 共11页
1124魏博文Springmvc Hibernate框架结合使用.docx_第3页
第3页 / 共11页
1124魏博文Springmvc Hibernate框架结合使用.docx_第4页
第4页 / 共11页
1124魏博文Springmvc Hibernate框架结合使用.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

1124魏博文Springmvc Hibernate框架结合使用.docx

《1124魏博文Springmvc Hibernate框架结合使用.docx》由会员分享,可在线阅读,更多相关《1124魏博文Springmvc Hibernate框架结合使用.docx(11页珍藏版)》请在冰豆网上搜索。

1124魏博文Springmvc Hibernate框架结合使用.docx

1124魏博文SpringmvcHibernate框架结合使用

SpringmvcHibernate框架结合使用

1、配置需要的配置文件

applicationContext-mvc.xml

applicationContext.xml

需要的属性文件jdbc.properties

log4j.properties

###setloglevels###

log4j.rootLogger=INFO,C,D,E

###console###

log4j.appender.C=org.apache.log4j.ConsoleAppender

log4j.appender.C.Target=System.out

log4j.appender.C.layout=org.apache.log4j.PatternLayout

log4j.appender.C.layout.ConversionPattern=[Factory][%p][%-d{yyyy-MM-ddHH:

mm:

ss}]%C.%M(%L)|%m%n

###logfile###

log4j.appender.D=org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File=../logs/factory/factory.log

log4j.appender.D.Append=true

log4j.appender.D.Threshold=INFO

log4j.appender.D.layout=org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern=[Factory][%p][%-d{yyyy-MM-ddHH:

mm:

ss}]%C.%M(%L)|%m%n

###exception###

log4j.appender.E=org.apache.log4j.DailyRollingFileAppender

log4j.appender.E.File=../logs/factory/factory_error.log

log4j.appender.E.Append=true

log4j.appender.E.Threshold=ERROR

log4j.appender.E.layout=org.apache.log4j.PatternLayout

log4j.appender.E.layout.ConversionPattern=[Factory][%p][%-d{yyyy-MM-ddHH\:

mm\:

ss}]%C.%M(%L)|%m%n

spring-hibernate.xml

--引入属性文件-->

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

jdbc.properties"/>

--配置数据源-->

destroy-method="close">

--初始化连接大小-->

--连接池最大使用连接数量-->

--连接池最大空闲-->

--连接池最小空闲-->

--获取连接最大等待时间-->

--配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒-->

--配置一个连接在池中最小生存的时间,单位是毫秒-->

--打开removeAbandoned功能-->

--1800秒,也就是30分钟-->

--关闭abanded连接时输出错误日志-->

--配置hibernatesession工厂-->

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

${hibernate.dialect}

${hibernate.hbm2ddl.auto}

${hibernate.show_sql}

${hibernate.format_sql}

--扫描hibernate注解配置的entity

-->

--下面是配置文件的方式-->

classpath:

/com/whxh/news/model/*.hbm.xml

--配置事务管理器-->

class="org.springframework.orm.hibernate4.HibernateTransactionManager">

--注解方式配置事物-->

annotation-driventransaction-manager="transactionManager"/>

--拦截器方式配置事务-->

adviceid="transactionAdvice"transaction-manager="transactionManager">

attributes>

methodname="add*"propagation="REQUIRED"/>

methodname="save*"propagation="REQUIRED"/>

methodname="update*"propagation="REQUIRED"/>

methodname="modify*"propagation="REQUIRED"/>

methodname="edit*"propagation="REQUIRED"/>

methodname="delete*"propagation="REQUIRED"/>

methodname="remove*"propagation="REQUIRED"/>

methodname="get*"propagation="SUPPORTS"read-only="true"/>

methodname="find*"propagation="SUPPORTS"read-only="true"/>

methodname="*"propagation="SUPPORTS"/>

attributes>

advice>

--配置aop-->

config>

pointcutexpression="execution(*com.whxh.news.service.*.*(..))"

id="transactionPointcut"/>

advisoradvice-ref="transactionAdvice"pointcut-ref="transactionPointcut"/>

config>

2、Web文件的配置

file_manager_json

com.whxh.news.file.servlet.file_manager_json

upload_json

com.whxh.news.file.servlet.upload_json

 

file_manager_json

/admin/file_manager_json

upload_json

/admin/upload_json

spring

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath*:

applicationContext.xml,

classpath*:

applicationContext-mvc.xml

classpath*:

spring-hibernate.xml

1

spring

--全部拦截-->

/

 

characterEncodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

characterEncodingFilter

/*

 

default

*.js

*.css

/assets/*"

/images/*

/kindeditor/*

*.jpg

3、Hibernate对数据库的操作

@Repository(value="adminDao")//与对应的Dto层操作对应

publicclassAdminDaoImplimplementsAdminDao{

@Resource(name="sessionFactory")

privateSessionFactorysessionFactory;

@Override

publicvoidaddAdmin(AdminEntityadmin){

Sessionsession=sessionFactory.getCurrentSession();

session.persist(admin);

}

@Override

publicListfindAll(){

Sessionsession=sessionFactory.getCurrentSession();

Listadmins=(List)session.createQuery(

"fromAdminEntity").list();

returnadmins;

}

@Override

publicAdminEntityfindIOne(intid){

Sessionsession=sessionFactory.getCurrentSession();

return(AdminEntity)session.get(AdminEntity.class,id);

}

@Override

publicvoidupdateAdmin(AdminEntityadmin){

Sessionsession=sessionFactory.getCurrentSession();

session.update(admin);

}

@Override

publicvoidforbidden(intstatus,intid){

Sessionsession=sessionFactory.getCurrentSession();

Stringhql="UpdateAdminEntitySETstatus=?

whereid=?

";

Queryquery=session.createQuery(hql);

query.setInteger(0,status);

query.setInteger(1,id);

query.executeUpdate();//执行更新操作

session.beginTransaction().commit();//数据库提交

}

@Override

publicAdminEntitylogin(Stringname,Stringpass,intstatus){

Sessionsession=sessionFactory.getCurrentSession();

Stringhql="fromAdminEntitywhereusername=?

andupass=?

andstatus=?

";

Queryquery=session.createQuery(hql);

query.setString(0,name);

query.setString(1,pass);

query.setInteger(2,status);

Listlist=query.list();

if(list!

=null&&list.size()!

=0){

return(AdminEntity)list.get(0);

}else{

returnnull;

}

}

}

//Dto层

packagecom.whxh.news.service.impl;

importjava.util.ArrayList;

importjava.util.List;

importjavax.annotation.Resource;

importorg.springframework.beans.BeanUtils;

importorg.springframework.stereotype.Repository;

importcom.whxh.news.Dao.AdminDao;

importcom.whxh.news.dto.AdminDto;

importcom.whxh.news.model.AdminEntity;

importcom.whxh.news.service.AdminService;

@Repository(value="adminService")

publicclassAdminServiceImplimplementsAdminService{

@Resource(name="adminDao")

privateAdminDaoadminDao;//对应的Dao层调用对数据库进行操作

@Override

publicvoidaddAdmin(AdminDtoadmin){

AdminEntityadminEntity=newAdminEntity();

BeanUtils.copyProperties(admin,adminEntity);

adminDao.addAdmin(adminEntity);

}

@Override

publicListfindAll(){

ListadminList=adminDao.findAll();

ListdtoList=newArrayList();

for(AdminEntityue:

adminList){

AdminDtoadminDto=newAdminDto();

BeanUtils.copyProperties(ue,adminDto);

dtoList.add(adminDto);

}

returndtoList;

}

@Override

publicAdminDtofindIOne(intid){

AdminEntityadminEntity=adminDao.findIOne(id);

AdminDtoadminDto=newAdminDto();

BeanUtils.copyProperties(adminEntity,adminDto);

returnadminDto;

}

@Override

publicvoidupdateAdmin(AdminDtoadmin){

AdminEntityadminEntity=newAdminEntit

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

当前位置:首页 > 人文社科

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

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