1124魏博文Springmvc Hibernate框架结合使用.docx
- 文档编号:11590715
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:11
- 大小:113.61KB
1124魏博文Springmvc Hibernate框架结合使用.docx
《1124魏博文Springmvc Hibernate框架结合使用.docx》由会员分享,可在线阅读,更多相关《1124魏博文Springmvc Hibernate框架结合使用.docx(11页珍藏版)》请在冰豆网上搜索。
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注解配置的entity --> --下面是配置文件的方式--> /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文件的配置 classpath*: applicationContext.xml, classpath*: applicationContext-mvc.xml classpath*: spring-hibernate.xml --全部拦截--> 3、Hibernate对数据库的操作 @Repository(value="adminDao")//与对应的Dto层操作对应 publicclassAdminDaoImplimplementsAdminDao{ @Resource(name="sessionFactory") privateSessionFactorysessionFactory; @Override publicvoidaddAdmin(AdminEntityadmin){ Sessionsession=sessionFactory.getCurrentSession(); session.persist(admin); } @Override publicList Sessionsession=sessionFactory.getCurrentSession(); List "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 publicList List List 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1124魏博文Springmvc Hibernate框架结合使用 1124 魏博文 Springmvc Hibernate 框架 结合 使用
![提示](https://static.bdocx.com/images/bang_tan.gif)