idea 搭建maven构建的springmvc+hibernate
2017-12-13 16:35
555 查看
1.create new project 如下图新建项目,注意勾选 create from archetype
填写好group id等信息后,一路下一步
2.在pom.xml里添加依赖,我的pom.xml:
3.添加applicationContext.xml和spring-servlet.xml:
在WEB-INF目录下新建applicationContext.xml和spring-servlet.xml:
applicationContext.xml:
spring-servlet.xml:
此时两个文件有有错误,因为相关包还没创建,先不管.
4.修改web.xml:
4.在main目录下新建目录,名称java,并将java目录设置为源码目录
5.在java目录下新建三个包:controller,dao,model
并在controller包中新建类Test:
6.发布到tomcat上并运行,至于怎样添加tomcat并发布,请自行搜索,此处省略
在地址栏输入:http://localhost:8080/test 即可看到"hello springMVC"字样,证明springMVC搭建成功
7.添加hibernate支持:
选择File->Project Structure 在左边菜单栏选择 Facet ,点加号,选择Hibernate
然后选OK就可以,不需要添加hibernate.cfg.xml,我们用applicationContext.xml配置hibernate
8.在idea中配置mysql数据库连接,此处省略,请自行搜索
9.打开persistence选项卡,在项目上点右键,选择Assign Data Sources,选择刚才建立的数据库连接
在新窗口中按下图配置
此表中有外键,一个user对应多个blog,blog表中的字段user_id表示对应的user表中的id
因此需要设置外键关系,选中blog表,点上面的加号,然后按下图配置:
然后点ok
10,在dao包下新建UserDAO类,代码如下:
package dao;
import model.Blog;
import model.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.query.Query;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserDAO {
@Resource
SessionFactory sf;
public List<Blog> query(){
Session session = sf.openSession();
Query query = session.createQuery("from Blog ");
List<Blog> list = query.list();
for (int i = 0; i < list.size(); i++) {
Blog blog = list.get(i);
User user = blog.getUserByUID();
user.getName();
user.setBlogById(null);
blog.setUserByUID(user);
}
session.close();
return list;
}
}
修改Test.java代码如下:
package controller;
import com.google.gson.Gson;
import dao.UserDAO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
@Controller
public class Test extends Base {
@Resource
UserDAO ud;
@RequestMapping(value = "/test",produces = "application/json;charset=UTF-8")
@ResponseBody
public String test() {
return new Gson().toJson(ud.query());
}
}
重新访问 http://localhost:8080/test
即可看到连同外键一起查询到的结果
填写好group id等信息后,一路下一步
2.在pom.xml里添加依赖,我的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.test</groupId> <artifactId>demo</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>sample Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <!-- spring版本号 --> <spring.version>4.3.1.RELEASE</spring.version> </properties> <!--项目依赖 --> <dependencies> <!--日志包--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency> <!--j2ee相关包 servlet、jsp、jstl--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!--mysql驱动包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> <!-- Hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.12.Final</version> </dependency> <!--spring相关包--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!--其他需要的包--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.12.1.GA</version> </dependency> <!-- Gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.0</version> </dependency> <!-- c3p0 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> </dependencies> <build> <finalName>demo</finalName> </build> </project>
3.添加applicationContext.xml和spring-servlet.xml:
在WEB-INF目录下新建applicationContext.xml和spring-servlet.xml:
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:p="http://www.springframework.org/schema/p" 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"> <context:annotation-config/> <context:component-scan base-package="dao"/> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"> </property> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test1"></property> <property name="user" value="root"></property> <property name="password" value="root"></property> <!--连接池中保留的最小连接数。--> <property name="minPoolSize" value="10"/> <!--连接池中保留的最大连接数。Default: 15 --> <property name="maxPoolSize" value="10"/> <!--最大空闲时间,10秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> <property name="maxIdleTime" value="10"/> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> <property name="acquireIncrement" value="3"/> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="packagesToScan" value="model"/> <property name="dataSource"> <ref bean="dataSource"/> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.connection.url">jdbc:mysql://localhost:3306/test1</prop> <prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop> </props> </property> </bean> </beans>
spring-servlet.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:mvc="http://www.springframework.org/schema/mvc" 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-package="controller"/> <!-- 将没有url映射的请求交给web服务器的default servlet处理 --> <mvc:default-servlet-handler/> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/> </bean> </mvc:message-converters> </mvc:annotation-driven> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!-- 前缀 --> <property name="prefix" value="/"/> <!-- 后缀 --> <property name="suffix" value=".jsp"/> </bean> </beans>
此时两个文件有有错误,因为相关包还没创建,先不管.
4.修改web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> <display-name>sample</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- springMVC servlet --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern><!-- 监听所有请求 --> </servlet-mapping> </web-app>
4.在main目录下新建目录,名称java,并将java目录设置为源码目录
5.在java目录下新建三个包:controller,dao,model
并在controller包中新建类Test:
package controller; import com.google.gson.Gson; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; @Controller public class Test { @RequestMapping(value = "/test",produces = "application/json;charset=UTF-8") @ResponseBody public String test() { return "hello springMVC"; } }
6.发布到tomcat上并运行,至于怎样添加tomcat并发布,请自行搜索,此处省略
在地址栏输入:http://localhost:8080/test 即可看到"hello springMVC"字样,证明springMVC搭建成功
7.添加hibernate支持:
选择File->Project Structure 在左边菜单栏选择 Facet ,点加号,选择Hibernate
然后选OK就可以,不需要添加hibernate.cfg.xml,我们用applicationContext.xml配置hibernate
8.在idea中配置mysql数据库连接,此处省略,请自行搜索
9.打开persistence选项卡,在项目上点右键,选择Assign Data Sources,选择刚才建立的数据库连接
在新窗口中按下图配置
此表中有外键,一个user对应多个blog,blog表中的字段user_id表示对应的user表中的id
因此需要设置外键关系,选中blog表,点上面的加号,然后按下图配置:
然后点ok
10,在dao包下新建UserDAO类,代码如下:
package dao;
import model.Blog;
import model.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.query.Query;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserDAO {
@Resource
SessionFactory sf;
public List<Blog> query(){
Session session = sf.openSession();
Query query = session.createQuery("from Blog ");
List<Blog> list = query.list();
for (int i = 0; i < list.size(); i++) {
Blog blog = list.get(i);
User user = blog.getUserByUID();
user.getName();
user.setBlogById(null);
blog.setUserByUID(user);
}
session.close();
return list;
}
}
修改Test.java代码如下:
package controller;
import com.google.gson.Gson;
import dao.UserDAO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
@Controller
public class Test extends Base {
@Resource
UserDAO ud;
@RequestMapping(value = "/test",produces = "application/json;charset=UTF-8")
@ResponseBody
public String test() {
return new Gson().toJson(ud.query());
}
}
重新访问 http://localhost:8080/test
即可看到连同外键一起查询到的结果
相关文章推荐
- 使用IDEA搭建Maven+SpringMVC+Spring+Hibernate环境
- idea搭建maven项目(spring + spring MVC + hibernate),希望对于初学者有帮助。
- IntelliJ IDEA14.0.3+Maven+SpringMVC+Spring+Hibernate光速构建Java权限管理系统(二)
- intellij idea 构建 基于spring springmvc hibernate的maven项目《二》
- 【安装】IntelliJ IDEA+Maven+SpringMVC+Hibernate项目搭建运行
- 使用IDEA搭建Maven+SpringMVC+Spring+Hibernate环境
- IntelliJ IDEA14.0.3+Maven+SpringMVC+Spring+Hibernate光速构建Java权限管理系统(六)
- intellij idea 构建 基于spring springmvc hibernate的maven项目《三》
- IDEA Maven Spring MVC 项目搭建
- 搭建springMvc+spring+hibernate+maven开发环境002
- maven+springMVC+hibernate项目搭建(二创建web项目demo)
- spring+springMVC+hibernate(ssh)基于maven纯注解环境搭建
- maven+springMVC+hibernate项目搭建(三spring配置结束)
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目
- 搭建springMvc+spring+hibernate+maven开发环境001
- Maven+SpringMVC+Hibernate项目框架搭建
- IntelliJ IDEA14.0.3+Maven+SpringMVC+Spring+Hibernate光速构建Java权限管理系统(三)
- idea 搭建 springMVC+mybatis+maven 项目(二)
- IntelliJ IDEA14.0.3+Maven+SpringMVC+Spring+Hibernate光速构建Java权限管理系统(一)