java鬼混笔记:SSH框架实例(Sping,SpringMVC,Hibernate)

来源:互联网 发布:多多淘宝客返利网源码 编辑:程序博客网 时间:2024/06/06 19:44

Spring  SpringMVC Hibernate 整合,MAVEN项目来着

下载地址:http://pan.baidu.com/s/1jIoVSt4 (CSDN上传学了迅雷了永远的99%)

项目结构


pom.xml 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.ywj</groupId><artifactId>SSH</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>SSH Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${springVersion}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${springVersion}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${springVersion}</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.2</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.2</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${springVersion}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-hibernate</artifactId><version>1.2.6</version></dependency><dependency><groupId>springframework</groupId><artifactId>spring-orm</artifactId><version>1.2.6</version></dependency><dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.35</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-dbcp2</artifactId><version>2.1.1</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>3.6.5.Final</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.6.1</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-nop</artifactId><version>1.6.4</version></dependency><dependency><groupId>javassist</groupId><artifactId>javassist</artifactId><version>3.11.0.GA</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.8</version></dependency><dependency><groupId>com.jolbox</groupId><artifactId>bonecp-spring</artifactId><version>0.8.0.RELEASE</version></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.8.2</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency></dependencies><properties><springVersion>3.2.5.RELEASE</springVersion></properties><build><finalName>SSH</finalName></build></project>

applicationContext.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:p="http://www.springframework.org/schema/p"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xmlns:util="http://www.springframework.org/schema/util" xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd        http://www.springframework.org/schema/tx        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd        http://www.springframework.org/schema/aop        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context-3.2.xsd        http://www.springframework.org/schema/util        http://www.springframework.org/schema/util/spring-util-3.2.xsd        http://www.springframework.org/schema/task        http://www.springframework.org/schema/task/spring-task-3.2.xsd"><!-- 扫描包 --><context:component-scan base-package="com" /><beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /><property name="ignoreResourceNotFound" value="true" /><property name="locations"><list><value>classpath:jdbc.properties</value></list></property></bean><bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"destroy-method="close"><property name="driverClass" value="${jdbc.driverClassName}" /><property name="jdbcUrl" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="idleConnectionTestPeriod" value="60" /><property name="idleMaxAge" value="30" /><property name="maxConnectionsPerPartition" value="100" /><property name="minConnectionsPerPartition" value="5" /></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.hbm2ddl.auto">none</prop></props></property><property name="mappingDirectoryLocations"><list><value>classpath*:com/e</value></list></property></bean><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="query*" read-only="true" /><tx:method name="*" read-only="false" /></tx:attributes></tx:advice><aop:config><aop:pointcut expression="execution(* com.s.*.*(..))"id="pointcut" /><aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut" /></aop:config></beans>


SpringMVC.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:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd          http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 开启mvc注解驱动 --><mvc:annotation-driven><mvc:message-converters register-defaults="true"><bean class="org.springframework.http.converter.StringHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/plain;charset=UTF-8</value><value>text/html;charset=UTF-8</value></list></property></bean><beanclass="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="supportedMediaTypes"><list><value>application/json; charset=UTF-8</value><value>application/x-www-form-urlencoded; charset=UTF-8</value><value>text/plain;charset=UTF-8</value></list></property></bean></mvc:message-converters></mvc:annotation-driven><!-- 定义controller扫描包 --><context:component-scan base-package="com.c" /><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/view/" /><property name="suffix" value=".jsp" /></bean></beans>  


jdbc.properties


jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/testhibernatejdbc.username=rootjdbc.password=123

log4j.properties

# logLevels :  DEBUG / INFO / WARN / ERROR / FATAL / OFFlog4j.rootLogger=info,console,console2#\u63a7\u5236\u53f0\u65e5\u5fd7log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=%d{MM-dd HH:mm:ss} %p %F:%L - %m%n#\u63a7\u5236\u65e5\u5fd7\u6253\u5370\u5230\u65e5\u5fd7\u6587\u4ef6log4j.appender.console2=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.console2.layout=org.apache.log4j.PatternLayoutlog4j.appender.console2.layout.ConversionPattern=%d{MM-dd HH:mm:ss} | %m%nlog4j.appender.console2.File=${catalina.base}/log/ms/console/console.loglog4j.appender.console2.DatePattern='.'yyyy-MM-ddlog4j.appender.console2.encoding=UTF-8

web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0">  <display-name>Archetype Created Web Application</display-name>     <context-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/applicationContext*.xml</param-value></context-param><!-- spring监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 编码过滤器,以UTF8编码 --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/SpringMVC.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>


com/c/ImgC.java

package com.c;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.e.Img;import com.s.ImgS;@Controllerpublic class ImgC {@Autowiredpublic HttpServletRequest request;@Autowiredprivate ImgS imgS;@RequestMapping("index")public String index() throws Exception{return "index";}@RequestMapping("list")@ResponseBodypublic Object list(Integer page) throws Exception{List<Img> imgs = imgS.list(page);return imgs;}}


com/s/ImgS.java


package com.s;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.d.ImgD;import com.e.Img;@Servicepublic class ImgS{@Autowiredprivate ImgD imgD;/** * 分页查询 * @param page 第几页 */public List<Img> list(Integer page){return imgD.list(page);}}

com/d/BaseDao.java


package com.d;import java.util.List;import javax.annotation.Resource;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;public class BaseDao<T> {@Resourceprivate SessionFactory sessionFactory;public Session getSession() {return sessionFactory.getCurrentSession();}public void save(T t){this.getSession().save(t);}public void del(T t){this.getSession().delete(t);}public void update(T t){this.getSession().update(t);}/** * HQL分页获取数据 * @param hql * @param page 当前第page页 * @param num 每页num条 * @param params 参数 * @return */@SuppressWarnings("unchecked")public List<T> listByHQL(String hql, Integer page, Integer num, Object[] params){Query query = this.getSession().createQuery(hql);query.setFirstResult(page);query.setMaxResults(num);if(params != null && params.length > 0){for(int i = 0;i<params.length;i++){query.setParameter(i, params[i]);}}return query.list();}/** * SQL分页获取数据 * @param hql * @param page 当前第page页 * @param num 每页num条 * @param params 参数 * @return */@SuppressWarnings("unchecked")public List<T> listBySQL(String sql, Integer page, Integer num, Object[] params){Query query = this.getSession().createSQLQuery(sql);query.setFirstResult(page);query.setMaxResults(num);if(params != null && params.length > 0){for(int i = 0;i<params.length;i++){query.setParameter(i, params[i]);}}return query.list();}// 等等。。。。。。。。}

com/d/ImgD.java

package com.d;import java.util.List;import org.springframework.stereotype.Repository;import com.e.Img;@Repositorypublic class ImgD extends BaseDao<Img> {public List<Img> list(Integer page){return listByHQL("from Img",page, 8, null);}public void add(Img img){super.save(img);}}


com/e/Img.java

package com.e;import java.io.Serializable;public class Img implements Serializable{/** *  */private static final long serialVersionUID = -1133307425564153298L;private Integer id;private String path;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getPath() {return path;}public void setPath(String path) {this.path = path;}}

Img.hbm.xml

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.e"><class name="Img" table="img" lazy="false"><id name="id" type="java.lang.Integer"><column name="id" /><generator class="native" /></id><property name="path" type="java.lang.String"><column name="path" length="10"/></property></class></hibernate-mapping>


阅读全文
0 0
原创粉丝点击