idea搭建maven项目(spring + spring MVC + hibernate),希望对于初学者有帮助。
2017-10-03 00:15
831 查看
前言
这是我工作以来的第一篇文章,听说大神都是喜欢分享的,所以我也假装大神分享下我的idea搭建maven项目(spring + spring MVC + hibernate)的搭建过程,可能整体得不够完善,但是对于初学者提升还是不错的。当然,怎样搭建maven项目我就不演示了,具体你们自行百度。呵呵。。。。,先说说我的情况吧,我工作差不多两年了,给我的感觉知识是学不完的,我们能学多少,积累多点,对自己的提升也是一步一步来的。你们说对吗?
正题
①、我先发张的搭建项目的整体结构。
②、配置文件
一、applicationContext.xml
二、db.properties
三、hibernate.cfg.xml
四、spring-mvc.xml
五、web.xml
六、pom.xml
③Java文件了,你们跟上节奏了吗?
1、controller
2、service
3、serviceImpl
4、dao
5、daoImpl
④、jsp测试页面和数据库语句
一、jsp
2、sql
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 50717
Source Host : localhost:3306
Source Database : forum
Target Server Type : MYSQL
Target Server Version : 50717
File Encoding : 65001
Date: 2017-10-03 09:15:11
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '1', '1', '1');
⑤、尾语
这时候差不多了,你们的项目可以跑起来吗?
附上我跑起来的图片,
欢迎你们提意见呢。。。。。。,我叫叶子。
发布日期:2017-10-03,最后祝大家国庆快乐!!!!
这是我工作以来的第一篇文章,听说大神都是喜欢分享的,所以我也假装大神分享下我的idea搭建maven项目(spring + spring MVC + hibernate)的搭建过程,可能整体得不够完善,但是对于初学者提升还是不错的。当然,怎样搭建maven项目我就不演示了,具体你们自行百度。呵呵。。。。,先说说我的情况吧,我工作差不多两年了,给我的感觉知识是学不完的,我们能学多少,积累多点,对自己的提升也是一步一步来的。你们说对吗?
正题
①、我先发张的搭建项目的整体结构。
②、配置文件
一、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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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/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://code.alibabatech.com/schema/dubbo" default-lazy-init="true"> <context:annotation-config /> <context:component-scan base-package="com.yzw,config.commom" /> <!-- 启动对@AspectJ注解的支持 --> <aop:aspectj-autoproxy/> <!-- 通知spring使用cglib而不是jdk的来生成代理方法 AOP可以拦截到Controller --> <aop:aspectj-autoproxy proxy-target-class="true" /> <!--导入资源文件 --> <context:property-placeholder location="classpath:db.properties" /> <!--配置C3P0数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> <property name="driverClass" value="${jdbc.driver}"></property> <property name="jdbcUrl" value="${jdbc.url}"></property> <property name="initialPoolSize" value="${jdbc.initPolSize}"></property> <property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property> </bean> <bean id="template" class="org.springframework.orm.hibernate4.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"> </property> </bean> <!--配置SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:/hibernate.cfg.xml"></property> <!-- 有hbm.xml影射文件的配置 --> <!-- <property name="mappingLocations" value="classpath:/com/test/po/*.hbm.xml"></property> --> <!--注解实体类的配置 --> <property name="packagesToScan" value="com.yzw.model"></property> </bean> <!-- 配置Spring的声明式事务 --> <!--1、配置hibernate的事务管理 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!--2、配置事务属性 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="get*" read-only="true" /> <tx:method name="*" /> </tx:attributes> </tx:advice> <!--3、配置事务切入点,再把事务属性和事务切入点相关联 --> <aop:config> <aop:pointcut expression=" execution(* com..service.*.*(..)) " id="txPointcut" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut" /> </aop:config> </beans>
二、db.properties
jdbc.username=root jdbc.password=123456 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc\:mysql\:///forum?useUnicode\=true&characterEncoding\=UTF-8 jdbc.initPolSize=5 jdbc.maxPoolSize=10 #...
三、hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!--配置hibernate的基本属性 --> <!-- 方言 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> <!--是否显示格式化sql --> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <!--生成表的策略 --> <property name="hibernate.hbm2ddl.auto">update</property> <!--二级缓存相关 --> <!--jdbc事务 --> <!-- <property name="hibernate.current_session_context_class">thread</property> --> </session-factory> </hibernate-configuration>
四、spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" 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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"> <!-- 自动扫描@Controller注入为bean --> <context:component-scan base 4000 -package="com.yzw.controller" /> <!-- 以下为SpringMVC配置 --> <mvc:annotation-driven> <!-- 返回json数据,@response使用 --> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/view/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
五、web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" 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:applicationContext.xml</param-value> </context-param> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <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:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> </web-app>
六、pom.xml
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>mavenSSH</groupId> <artifactId>spring-spring mvc-hibernate</artifactId> <version>1.0-SNAPSHOT</version> <modules> <module>util</module> </modules> <packaging>pom</packaging> <name>mavenSSH</name> <description /> <properties> <webVersion>3.0</webVersion> <hibernate-version>5.1.0.Final</hibernate-version> <hibernate-validator-version>5.2.4.Final</hibernate-validator-version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- JSTL标签类 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.3.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.2.21.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> <version>4.2.21.Final</version> </dependency> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5-pre10</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.31</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.4.0-rc1</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.4</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${hibernate-version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-jpamodelgen</artifactId> <version>${hibernate-version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>${hibernate-validator-version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator-annotation-processor</artifactId> <version>${hibernate-validator-version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator-cdi</artifactId> <version>${hibernate-validator-version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>javax.el</artifactId> <version>2.2.4</version> </dependency> <dependency> <groupId>antlr</groupId> <artifactId>antlr</artifactId> <version>2.7.7</version> </dependency> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.hibernate.common</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>4.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.18.1-GA</version> </dependency> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.1.0.GA</version> </dependency> <dependency> <groupId>org.jboss.spec.javax.transaction</groupId> <artifactId>jboss-transaction-api_1.1_spec</artifactId> <version>1.0.0.Final</version> </dependency> <!-- 股票start --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.1</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.2.1</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> <version>9.3.7.v20160115</version> </dependency> <!-- 股票end --> </dependencies> <!--配置了这个就不报错了,好坑啊 ,主要是配置文件首行报错。 --> <build> <finalName>mavenSSH</finalName> </build> <profiles> <profile> <id>jdk1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> </profiles> </project>
③Java文件了,你们跟上节奏了吗?
1、controller
package com.yzw.controller; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.yzw.service.UserService; @Controller @RequestMapping( 177a2 "/user") public class UserController { @Resource private UserService userService; @RequestMapping("/test") public String test() { userService.test(); return "test"; } }
2、service
package com.yzw.service; public interface UserService { public void test(); }
3、serviceImpl
package com.yzw.service.impl; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.yzw.service.UserService; import config.commom.dao.CommonDao; @Service public class UserServiceImpl implements UserService { @Resource private CommonDao dao; @Override public void test() { String sql = "SELECT u.id,u.username,u.`password`,u.age FROM `user` AS u "; List<Map<String,Object>> list = dao.findMapListBySql(sql); System.out.println(list.size()); } }
4、dao
package config.commom.dao; import java.util.List; import java.util.Map; /** * * 公共dao * * ClassName: CommomDao * * @Description: TODO * @author yzw * @date 2016年10月28日 */ public interface CommonDao { /** * * 通过sql返回所有结果 * * @Description: TODO * @param @param * sql * @param @return * @return List<Object> * @throws @author * yzw * @date 2016年10月28日 */ public List<Object> findObjectBySql(String sql); /** * * 执行sql语句,对数据库增删改操作 * * @Description: TODO * @param @param * sql * @return void * @throws @author * yzw * @date 2016年10月28日 */ public void updateBySql(String sql); /** * 删除实体类对象 * * @Description: TODO * @param @param * t * @return void * @throws @author * yzw * @date 2016年10月28日 */ public <T> void delete(T t); /** * * 更新实体类 * * @Description: TODO * @param @param * t * @return void * @throws @author * yzw * @date 2016年10月28日 */ public <T> void update(T t); /** * * 保存实体类 * * @Description: TODO * @param @param * t * @return void * @throws @author * yzw * @date 2016年10月28日 */ public <T> void save(T t); /** * * 通过id返回实体类对象 * * @Description: TODO * @param @param * c * @param @param * pk * @param @return * @return T * @throws @author * yzw * @date 2016年10月28日 */ @SuppressWarnings("rawtypes") public <T> T findEntityById(Class c, Object pk); /** * * 通过hql返回所有结果 * * @Description: TODO * @param @param * hql * @param @return * @return List<T> * @throws @author * yzw * @date 2016年10月28日 */ public <T> List<T> findByHql(String hql); /** * * 通过sql返回map集合 * * @Description: TODO * @param @param * sql * @param @return * @return List<Map<String,Object>> * @throws @author * yzw * @date 2016年10月29日 */ public List<Map<String, Object>> findMapListBySql(String sql); /** * * 通过sql获取map集合的第一条记录 * * @Description: TODO * @param @param * sql * @param @return * @return Map<String,Object> * @throws @author * yzw * @date 2016年10月29日 */ public Map<String, Object> findMapListFirstBySql(String sql); /** * * 通过sql返回List<实体类> 类型的list * * @Description: TODO * @param @param * sql * @param @param * c * @param @return * @return List<T> * @throws @author * yzw * @date 2016年10月29日 */ public <T> List<T> findEntityListBySql(String sql, @SuppressWarnings("rawtypes") Class c); /** * * 通过sql返回实体,如果查询该sql超过1条记录,那么只返回1条记录 * * @Description: TODO * @param @param * sql * @param @param * c * @param @return * @return T * @throws @author * yzw * @date 2016年10月29日 */ public <T> T findEntityBySql(String sql, @SuppressWarnings("rawtypes") Class c); }
5、daoImpl
package config.commom.dao.impl; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.hibernate.Query; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.transform.Transformers; import org.springframework.stereotype.Repository; import config.commom.dao.CommonDao; @Repository("commomDao") public class CommonDaoImpl implements CommonDao { @Resource(name = "sessionFactory") private SessionFactory sessionFactory; public Session getSession() { return sessionFactory.getCurrentSession(); } public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } /** * * 通过sql返回所有结果 * * @Description: TODO * @param @param sql * @param @return * @return List<Object> * @throws @author yzw * @date 2016年10月28日 */ @SuppressWarnings("unchecked") @Override public List<Object> findObjectBySql(String sql) { if (sql == null || sql.equals("")) { return new ArrayList<Object>(); } List<Object> l = (List<Object>) sessionFactory.getCurrentSession() .createSQLQuery(sql).list(); return l != null ? l : new ArrayList<Object>(); } /** * * 执行sql语句,对数据库增删改操作 * * @Description: TODO * @param @param sql * @return void * @throws @author yzw * @date 2016年10月28日 */ @Override public void updateBySql(String sql) { SQLQuery query = sessionFactory.getCurrentSession().createSQLQuery(sql); query.executeUpdate(); } /** * 删除实体类对象 * * @Description: TODO * @param @param t * @return void * @throws @author yzw * @date 2016年10月28日 */ @Override public <T> void delete(T t) { if (t != null) { sessionFactory.getCurrentSession().delete(t); } } /** * * 更新实体类 * * @Description: TODO * @param @param t * @return void * @throws @author yzw * @date 2016年10月28日 */ @Override public <T> void update(T t) { if (t != null) { sessionFactory.getCurrentSession().saveOrUpdate(t); } } /** * * 保存实体类 * * @Description: TODO * @param @param t * @return void * @throws @author yzw * @date 2016年10月28日 */ @Override public <T> void save(T t) { sessionFactory.getCurrentSession().save(t); } /** * * 通过id返回实体类对象 * * @Description: TODO * @param @param c * @param @param pk * @param @return * @return T * @throws @author yzw * @date 2016年10月28日 */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public <T> T findEntityById(Class c, Object pk) { T t = (T) sessionFactory.getCurrentSession().get(c, (Serializable) pk); return t; } /** * * 通过hql返回所有结果 * * @Description: TODO * @param @param hql * @param @return * @return List<T> * @throws @author yzw * @date 2016年10月28日 */ @SuppressWarnings("unchecked") @Override public <T> List<T> findByHql(String hql) { return sessionFactory.getCurrentSession().createQuery(hql).list(); } /** * * 通过sql返回map集合 * * @Description: TODO * @param @param sql * @param @return * @return List<Map<String,Object>> * @throws @author yzw * @date 2016年10月29日 */ @SuppressWarnings("unchecked") @Override public List<Map<String, Object>> findMapListBySql(String sql) { if (sql == null || "".equals(sql)) { return null; } Query query = sessionFactory.getCurrentSession().createSQLQuery(sql) .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); return query.list(); } /** * * 通过sql获取map集合的第一条记录 * * @Description: TODO * @param @param sql * @param @return * @return Map<String,Object> * @throws @author yzw * @date 2016年10月29日 */ @SuppressWarnings("unchecked") @Override public Map<String, Object> findMapListFirstBySql(String sql) { if (sql == null || "".equals(sql)) { return null; } Query query = sessionFactory.getCurrentSession().createSQLQuery(sql) .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List<Map<String, Object>> list = query.list(); if (list != null && list.size() > 0) { return list.get(0); } return null; } /** * * 通过sql返回List<实体类> 类型的list * * @Description: TODO * @param @param sql * @param @param c * @param @return * @return List<T> * @throws @author yzw * @date 2016年10月29日 */ @SuppressWarnings("unchecked") @Override public <T> List<T> findEntityListBySql(String sql, @SuppressWarnings("rawtypes") Class c) { Query query = sessionFactory.getCurrentSession().createSQLQuery(sql) .addEntity(c); List<T> list = query.list(); return list; } /** * * 通过sql返回实体,如果查询该sql超过1条记录,那么只返回1条记录 * * @Description: TODO * @param @param sql * @param @param c * @param @return * @return T * @throws @author yzw * @date 2016年10月29日 */ @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public <T> T findEntityBySql(String sql, Class c) { Query query = sessionFactory.getCurrentSession().createSQLQuery(sql) .addEntity(c); List<T> list = query.list(); if (list != null && list.size() > 0) { return list.get(0); } return null; } }
④、jsp测试页面和数据库语句
一、jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> </head> <body> 这是测试的页面 <br> </body> </html>
2、sql
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 50717
Source Host : localhost:3306
Source Database : forum
Target Server Type : MYSQL
Target Server Version : 50717
File Encoding : 65001
Date: 2017-10-03 09:15:11
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '1', '1', '1');
⑤、尾语
这时候差不多了,你们的项目可以跑起来吗?
附上我跑起来的图片,
欢迎你们提意见呢。。。。。。,我叫叶子。
发布日期:2017-10-03,最后祝大家国庆快乐!!!!
相关文章推荐
- 【安装】IntelliJ IDEA+Maven+SpringMVC+Hibernate项目搭建运行
- Idea2016-Maven多模块项目的搭建-Spring+SpringMVC+Hibernate
- idea 搭建 springMVC+mybatis+maven 项目(一)
- idea 搭建 springMVC+mybatis+maven 项目(二)
- SpringMVC+Hibernate 项目开发之一(Maven环境搭建)
- Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目
- maven+springMVC+hibernate项目搭建(二创建web项目demo)
- 基于spring+springmvc+hibernate的maven项目搭建
- idea 搭建 springMVC+mybatis+maven 项目(三)mybatis-generater自动生成MyBatis代码
- intellij idea 构建 基于spring springmvc hibernate的maven项目《二》
- Maven+SpringMVC+Hibernate项目框架搭建
- maven+springMVC+hibernate项目搭建(三spring配置结束)
- 搭建项目Maven+springMVC+hibernate时,JUnit测试出现报ClassNotFoundException错误的解决
- 使用IDEA搭建Maven+SpringMVC+Spring+Hibernate环境
- IDEA Maven Spring MVC 项目搭建
- 使用IDEA搭建Maven+SpringMVC+Spring+Hibernate环境
- idea 搭建maven构建的springmvc+hibernate
- SpringMVC+idea+maven搭建项目
- maven+springMVC+hibernate项目搭建(一基础环境配置)
- 使用maven搭建SSH项目(spring+springmvc+Hibernate)