四、maven项目搭建 springmvc+ spring + mybatis(ssm框架搭建完成)
来源:互联网 发布:extjs文件上传 java 编辑:程序博客网 时间:2024/04/19 13:54
前台控制器springmvc搭建好了以后现在也算是完成,后面就要搭建mybatis,不多说下面就开始具体的实现步骤
1、数据准备,一个可连接的mysql数据库(毕竟是开源免费的,oracle也可以)
创建数据库SoulFeeling ,执行下面sql语句
DROP TABLE IF EXISTS `tb_user`;CREATE TABLE `tb_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(255) DEFAULT NULL, `user_pwd` varchar(255) DEFAULT NULL, `age` int(5) DEFAULT NULL, `sex` int(5) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;-- ------------------------------ Records of tb_user-- ----------------------------INSERT INTO `tb_user` VALUES ('1', 'zhangsan', '123', '25', '1');INSERT INTO `tb_user` VALUES ('2', 'lisi', '123', '28', '1');
2、添加三层、以及其他对应的包名,
com.soul.ssm.controller、
com.soul.ssm.service、
com.soul.ssm.service.impl 、
com.soul.ssm.mapper 、
com.soul.ssm.model
3、利用Generator- mybatis生成对应的对应表tb_user的 对象和mybatis的映射文件
这里不再具体说怎么生成mybatis的映射文件,这里dao和对应的xml文件统一放在mapper包下(各有各的习惯,有的人是将这个类文件分开放的,我这里放在一块主要是在添加方法的时候修改方便)
现在开始配置mybatis
4、首先配置pom相应的maven jar包(包含上节的springmvc 的jar包)
<properties><!-- spring版本号 --><spring.version>4.0.2.RELEASE</spring.version><!-- mybatis版本号 --><mybatis.version>3.4.5</mybatis.version><!-- log4j日志文件管理包版本 --><slf4j.version>1.7.7</slf4j.version><log4j.version>1.2.17</log4j.version></properties><dependencies><!-- spring-mvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!-- spring 核心包 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</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-tx</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.springframework</groupId><artifactId>spring-jms</artifactId><version>${spring.version}</version></dependency><!-- mybatis 包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><!-- spring 整合mybatis兼容包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.1</version></dependency><!-- mysql 包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.43</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.11</version></dependency></dependencies>
5、在resources 的位置添加三个配置文件(加上spring-mvc.xml)
spring-config.xml、 spring-mybatis.xml 和 log4j.properties
加上原来的spring-mvc.xml 一共四个配置文件
spring-config.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:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 自动扫描注解的bean --><context:component-scan base-package="com.soul.ssm.service" /><!-- 引入dbconfig.properties属性文件 --><context:property-placeholder location="classpath:jdbc.properties" /></beans>
spring-mybatis.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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 自动扫描 --><context:component-scan base-package="com.soul.ssm.mapper" /><!-- 引入配置文件 --><bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location" value="classpath:jdbc.properties" /></bean><!-- 配置数据源 下面数据连接可以引用jdbc.properties d的参数 也可以直接配合数据库参数 --><!-- 阿里 druid 数据库连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="url" value="jdbc:mysql://47.93.61.197:3306/ssss"></property><property name="username" value="root"></property><property name="password" value="admin"></property></bean><!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="mapperLocations" value="classpath:com/soul/ssm/mapper/*.xml"></property></bean><!-- DAO接口所在包名,Spring会自动查找其下的类 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.soul.ssm.mapper"></property><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property></bean><!-- 事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"></property></bean><tx:annotation-driven transaction-manager="transactionManager" /> </beans>
log4j.properties
log4j.rootLogger=DEBUG, stdoutlog4j.logger.org.apache.ibatis=DEBUG### Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
这里也将spring-mvc.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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 扫描controller(controller层注入) --> <context:component-scan base-package="com.soul.ssm.controller"/> <mvc:annotation-driven /> <!-- 避免IE执行AJAX时,返回JSON出现下载文件 --><!-- <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value></list></property></bean> --> <!-- 静态资源路径过滤 --><mvc:resources mapping="/public/**" location="/public/" /> <!-- 对模型视图添加前后缀 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp"/> </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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>Archetype Created Web Application</display-name><!-- 项目编码问题 --><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- spring 和 mybatis 的整合 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- ContextLoaderListener初始化Spring上下文时需要使用到的contextConfigLocation参数 --><context-param><param-name>contextConfigLocation</param-name><!-- 配置spring-config.xml和spring-mybatis.xml这两个配置文件的位置,固定写法 --><param-value>classpath:spring-config.xml,classpath:spring-mybatis.xml</param-value></context-param><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- springMVC核心配置 --><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><!--spingMVC的配置路径 --><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- 拦截设置 --><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>
6、项目的配置已经完成,现在就剩下添加一个基本的查询逻辑,来测试一下项目是否真的可以运行起来
在一开始使用Generator-mybatis的 mybatis映射文件(Mapper包下的 UserMapper.java和UserMapper.xml)和bean对象类(model包下的User.java )
现在需要新建立controller 和 service的文件
在service包下新建IUserService.java 接口类
package com.soul.ssm.service;import com.soul.ssm.model.User;public interface IUserService {public User getUserById(Integer id);}在service.impl包下新建UserServicImpl.java (IUserService 的实现类),不要忘了注释 @Service("UserService")
package com.soul.ssm.service.impl;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.soul.ssm.mapper.UserMapper;import com.soul.ssm.model.User;import com.soul.ssm.service.IUserService;@Service("UserService")public class UserServiceImpl implements IUserService {@Autowiredprivate UserMapper userMapper;public User getUserById(Integer id) {return userMapper.selectByPrimaryKey(id);}}在Controller包下新建UserController
package com.soul.ssm.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import com.soul.ssm.model.User;import com.soul.ssm.service.IUserService;@RequestMapping("user")@Controllerpublic class UserController {@Autowiredprivate IUserService userService;@RequestMapping("index")public ModelAndView index2(HttpServletRequest request, HttpServletResponse response) {String tempId = request.getParameter("uid");Integer id = null;if(tempId!=null && !"".equals(tempId.trim())){id = Integer.valueOf(tempId);}User u = userService.getUserById(id);request.setAttribute("user", u);return new ModelAndView("/user/index");}}
创建index.jsp文件(webapp/WEB-INF/view/user/index.jsp)
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%><%String path = request.getContextPath();request.setAttribute("path",request.getContextPath());%><html><body><h2>Hello World!</h2><br>姓名:${user.userName }<br>密码:${user.userPwd }<br>年龄:${user.age }<br>性别:${user.sex }<br></body></html>
保存即可
7、现在已经完成了项目的配置和基本开发,将项目添加到tomcat 运行,如果没有报错,基本就没有为题了
最后访问http://localhost:8080/SoulFeeling/user/index?id=1
现在已经将ssm框架搭建完成
注意:项目如果中间有问题的话可能是jdk、tomcat 和 spring对应的版本的关系,这个会有不兼容性的问题
后期我回整理一份关于三者之间的版本关系
这里用到的版本是jdk7、 tomcat7、spring4.0.2
demo下载(现在csdn下载最低是1积分,积分土豪专用)
http://download.csdn.net/download/soulfeeling/9948826
如果没有csdn账号或者不想用积分下载的朋友,下面是百度云的下载地址(百度可能会清连接,如过资源失效@本人)
链接:http://pan.baidu.com/s/1nvwrh3r 密码:1ha6
- 四、maven项目搭建 springmvc+ spring + mybatis(ssm框架搭建完成)
- SSM(Spring+SpringMVC+Mybatis)+Maven项目搭建
- spring、springmvc、mybatis整合搭建ssm项目(Eclipse+maven)
- SSM框架搭建(Spring+SpringMVC+MyBatis)
- SSM框架搭建(SpringMVC+Spring+Mybatis)
- 使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)框架
- 基于Maven的SSM框架的搭建(Spring+SpringMVC+MyBatis)
- 使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)框架
- Spring+Mybatis+SpringMVC+Maven+MySql(SSM框架)搭建实例
- 利用Maven搭建Spring+SpringMVC+Mybatis框架项目(一)
- 利用Maven搭建Spring+SpringMVC+Mybatis框架项目(二)
- 快速搭建SSM框架WEB项目 Spring+SpringMVC+Mybatis+MySQL
- Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建+SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- SSM框架的搭建(Spring+SpringMVC+Mybatis第一个项目的搭建)
- Spring,SpringMVC,Mybatis (SSM)框架的搭建
- 整合Spring SpringMvc Mybatis,搭建SSM框架
- 搭建ssm框架:Spring SpringMVC Mybatis
- Spring + SpringMvc + Mybatis 搭建SSM框架
- pthread线程 解析
- Android 各种传感器的使用
- OKHttp3学习笔记-环境准备
- 华为OJ--判断两个IP是否属于同一个子网
- 正则表达式
- 四、maven项目搭建 springmvc+ spring + mybatis(ssm框架搭建完成)
- 电子商务行业支付解决方案
- 进制转换(长正整数)
- 电子方面的基本概念记录
- linux服务器安装jdk
- 了解JAVA后,你对JAVA有何感想?
- IDEA远程debug设置
- [HDU](1686)Oulipo ---KMP(串)
- C# PropertyGrid 加载动态属性