web.xml文件


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:bean.xml</param-value></context-param><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.action</url-pattern></filter-mapping>
</web-app>

bean.xml文件:


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><import resource="classpath:zhongfucheng/test/config/test-spring.xml"/><!-- 导入外部的properties配置文件 --><context:property-placeholder location="classpath:db.properties" /><!-- 配置c3p0数据源 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"><property name="jdbcUrl" value="${jdbcUrl}"></property><property name="driverClass" value="${driverClass}"></property><property name="user" value="${user}"></property><property name="password" value="${password}"></property><!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 --><property name="initialPoolSize" value="${initialPoolSize}"></property><!--连接池中保留的最小连接数。Default: 3 --><property name="minPoolSize" value="3"></property><!--连接池中保留的最大连接数。Default: 15 --><property name="maxPoolSize" value="${maxPoolSize}"></property><!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --><property name="acquireIncrement" value="3"></property><!--最大空闲时间,1800秒内未使用则连接被丢弃,若为0则永不丢弃。Default: 0 --><property name="maxIdleTime" value="1800"></property></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.hbm2ddl.auto">update</prop><prop key="javax.persistence.validation.mode">none</prop></props></property><property name="mappingLocations"><list><value>classpath:zhongfucheng/test/entity/*.hbm.xml</value></list></property></bean><bean id="txManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes><tx:method name="find*" read-only="true" /><tx:method name="get*" read-only="true" /><tx:method name="load*" read-only="true" /><tx:method name="list*" read-only="true" /><tx:method name="search*" read-only="true" /><tx:method name="*" rollback-for="Throwable" /></tx:attributes></tx:advice><aop:config><aop:pointcut id="serviceOperation" expression="bean(*Service*)" /><aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" /></aop:config><!-- 所有业务dao的parent --><bean id="baseDao" abstract="true"><property name="sessionFactory" ref="sessionFactory"></property></bean>
</beans>

log4j.properties文件:


log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p [%t] %c{1}:%L - %m%n#默认从warn开始
log4j.rootLogger=warn, stdout, Rlog4j.logger.zhongfucheng.test=debuglog4j.appender.R=org.apache.log4j.DailyRollingFileAppender#R.File是把日志信息输出到哪里
log4j.appender.R.File=D:/itcast/itcast.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d [%t] %5p  %c - %m%n

db.properties文件

--------------------mysql----------------------
jdbcUrl=jdbc:mysql://localhost:3306/SSH03?useUnicode=true&characterEncoding=utf8
driverClass=com.mysql.jdbc.Driver
user=root
password=root
initialPoolSize=10
maxPoolSize=30--------------------sqlserver----------------------jdbcUrl=jdbc:sqlserver://localhost:1433;DatabaseName=zhongfucheng
driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver
user=sa
password=sql
initialPoolSize=10
maxPoolSize=30

Struts2.xml文件


<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><!-- 禁用动态方法访问 --><constant name="struts.enable.DynamicMethodInvocation" value="false" /><!-- 配置成开发模式 --><constant name="struts.devMode" value="true" /><!-- 配置拓展名为action --><constant name="struts.action.extention" value="action" /><!-- 把主题配置成simple --><constant name="struts.ui.theme" value="simple" /><include file="zhongfucheng/test/config/test-Struts2.xml"/></struts>

BaseDao.java

package zhongfucheng.core.dao;import java.io.Serializable;
import java.util.List;public interface BaseDao<T> {//新增public void save(T entity);//更新public void update(T entity);//根据id删除public void delete(Serializable id);//根据id查找public T findObjectById(Serializable id);//查找列表public List<T> findObjects();
}

baseDaoImpl.java


package zhongfucheng.core.dao.impl;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import zhongfucheng.core.dao.BaseDao;import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.List;public abstract class BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T> {Class<T> clazz;public BaseDaoImpl(){ParameterizedType pt =  (ParameterizedType)this.getClass().getGenericSuperclass();//BaseDaoImpl<User>clazz = (Class<T>)pt.getActualTypeArguments()[0];}@Overridepublic void save(T entity) {getHibernateTemplate().save(entity);}@Overridepublic void update(T entity) {getHibernateTemplate().update(entity);}@Overridepublic void delete(Serializable id) {getHibernateTemplate().delete(findObjectById(id));}@Overridepublic T findObjectById(Serializable id) {return getHibernateTemplate().get(clazz, id);}@Overridepublic List<T> findObjects() {Query query = getSession().createQuery("FROM " + clazz.getSimpleName());return query.list();}}

转载于:https://www.cnblogs.com/zhong-fucheng/p/7202929.html

SSH复用代码最终版相关推荐

  1. 微型计算机技术及应用选择题,微机(微型计算机技术及应用)选择题及答案(最终版).docx...

    微机(微型计算机技术及应用)选择题及答案(最终版) 第1章 微型计算机概述微型计算机的硬件系统包括____A____.A. 控制器.运算器.存储器和输入输出设备 B控制器.主机.键盘和显示器C. 主机 ...

  2. 版本 3.1(最终版)

    1 Java™ Servlet 规范 版本 3.1(最终版) Shing Wai Chan Rajiv Mordani [作者] 穆茂强 张开涛 [译者] 2012 年 6 月翻译 2013 年 7 ...

  3. 你好,offer(最终版)

    你好,offer(最终版) 计算机网络 osi七层模型:物联网叔会试用 物理层 链路层 网络层 传输层 会话层 表示层 应用层 五层协议 UDP相关 TCP相关 TCP的三从握手和四次挥手 三次握手 ...

  4. 赫夫曼树建立c语言源程序编译结果详细解释,哈夫曼树的建立与实现最终版(备份存档)...

    <哈夫曼树的建立与实现.doc>由会员分享,可免费在线阅读全文,更多与<哈夫曼树的建立与实现(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索 ...

  5. linux 用mutex定义一个linkedlist,【基于LINUX的操作系统实验教程最终版材料】

    (基于LINUX的操作系统实验教程)(最终版) <基于LINUX的操作系统实验教程.doc>由会员分享,可免费在线阅读全文,更多与<(基于LINUX的操作系统实验教程)(最终版)&g ...

  6. 2021-11-16派森编程学习笔记“上帝视角下的游戏操盘手” 通过类的继承学会了复用代码,减少代码冗余,提高编程效率。

    派森编程学习笔记"上帝视角下的游戏操盘手" [自学笔记] 继承 在Python中继承是指:在类的基础上,它可以实现现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩 ...

  7. 数据结构c语言版胡学刚答案,哈夫曼树的建立与实现(最终版)最新版

    <哈夫曼树的建立与实现.doc>由会员分享,可免费在线阅读全文,更多与<哈夫曼树的建立与实现(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索 ...

  8. IDEA的ultimate(最终版)与community(社区版)的区别?

    提升自我,为梦想增值! [IDEA的ultimate(最终版)与community(社区版)的区别] IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境. (1)commun ...

  9. 传奇一键端服务器维护,烈焰炫彩传奇最终版一键服务端+启动教程+GM工具

    烈焰炫彩传奇最终版一键服务端+启动教程+GM工具 启动教程: 1.解压资源包,将"LYServer1"文件夹放到D盘根目录.D:\LYServer1 2.打开"D:\LY ...

  10. 单片机多功能电子琴课设_基于单片机的电子琴设计(最终版)最新版

    <基于单片机的电子琴设计.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的电子琴设计(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里 ...

最新文章

  1. SHELL脚本 基础一
  2. python xpath语法-Python爬虫之XPath语法和lxml库的用法
  3. 如何把睡袋转给别人_微信收到的语音如何转给别人?试试这2个方法,没准能帮到你...
  4. Lyft的TypeScript实践
  5. mysql事务模式怎么查_Mysql InnoDB中的查询事务模式与锁定select ..for update
  6. Spring Boot(十)Logback和Log4j2集成与日志发展史
  7. 信安教程第二版-第15章网络安全主动防御技术与应用
  8. 解决VMware在Windows 7上无法上网的问题
  9. HDU - 2828 网络流
  10. php监测tomcat,java_JAVA实现监测tomcat是否宕机及控制重启的方法,本文实例讲述了JAVA实现监测tom - phpStudy...
  11. 入门OJ 3168【等式】
  12. 强烈推荐一个上网以来见过的最好的学习资料网站,全部免费!
  13. 查找整数c语言程序,查找整数(示例代码)
  14. java 编配和弦_六个和弦编配小诀窍,让你的弹唱伴奏丰富好听
  15. vue组件可视化_Vue HTML5音频可视化组件
  16. 这些国外支付方式,你都听过或用过吗?
  17. 批量部署stg Pool到生产脚本
  18. 【记录】谈计算机知识、技术与能力
  19. 一篇很实用的干货!全面屏vivo X20应该这样拍逆光大片
  20. k3刷linux系统教程,Ubuntu 下使用K3B软件刻录光盘(图)

热门文章

  1. python contains类似函数_介绍几款Python性能优化工具
  2. 一致 先验分布 后验分布_分布式下的数据一致性问题
  3. controlleradvice 参数_Spring mvc中@ModelAttribute和@ControllerAdvice使用
  4. The Basic Knowledge of Graph(图的基本知识)
  5. 多个 本地仓库_老板逼我用 Git,本地指令介绍
  6. OTFS Channel Estimation(1)
  7. mac 10.9 安装 mysql_mac 下安装 mysql (蛋疼)
  8. html页面显示代码插件,客户端显示web网页支持html5的第三方内核插件
  9. xmind快捷键_小冰笔记 | 请在XMIND里写下你的MIND!
  10. centos tomcat