自己用的版本比较老了,难得去换,这里整理一下搭建过程图片难得编辑了借用一下其他人的。
1)Windows 764位
2)jdk1.7.0_67
3)Eclipse Version: Mars.2 Release (4.5.2)
4)apache-tomcat-7.0.61
5) apache-maven-3.3.9
一般来说,tomcat ,jdk ,maven一起配置就可以。windows->preferences->Server配置tomcat,顺便配置jdk,如图
到此步,tomcat配置完成
下面配置maven,在maven安装位置 设置自己的settings.xml
添加本地mvn仓库位置
E:\FrankTest\ssmTestMvn
因为众所周知的原因,直接访问maven公共仓库的速度比较慢,所以推荐使用阿里的maven仓库镜像。编辑setting.xml文件,在mirrors节点下,新增如下内容,这样从仓库中下载jar包速度上会快很多。
nexus-aliyun
*
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
项目后期避免JDK提示错误这里加上
jdk-1.7
true
1.7
1.7
1.7
1.7
选择菜单windows->preferences->Maven->UserSettings,具体看自己的配置文件,将配置文件和maven文件夹都设置好,如图
点击Installations节点,添加maven-runtime
1)File->New->MavenProject 新建一个maven项目
点击Next,选择默认工作空间位置
选择web类型
填写GroupID、ArtifactID
Group ID:相当于一个组织
Artifact ID:相当于这个组织下的一个具体项目
Packege:根据Group ID和Artifact ID生成一个默认的名称
最后,还有个index.jsp报错,我们需要引入Java EE的jar包即可。在pom.xml中引入:
javax
javaee-api
7.0
在项目上右键,查看项目信息
默认的Dynamic Web Module为2.3,使用Tomcat 7,需要修改为3.0
修改方法:
maven工程所在目录下org.eclipse.wst.common.project.facet.core.xml
编辑内容,如下所示
maven工程下的web.xml文件修改为
pom.xml文件中修改build节点,添加如下内容
ssm
org.apache.maven.plugins
maven-compiler-plugin
1.7
修改后,在项目上右键,找到Maven属性下的Update Project,点击之
选择该项目进行更新,如果怕不能强制更新,可以勾选Force Update of Snapshots/Releases
点击OK后更新maven项目,再观察项目属性,Module已经变为3.0
Maven Project 创建完成
4.0.0
org.ssmtest
ssm
war
0.0.1-SNAPSHOT
ssm Maven Webapp
http://maven.apache.org
4.0.2.RELEASE
3.2.6
1.7.7
1.2.17
junit
junit
3.8.1
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
javax
javaee-api
7.0
mysql
mysql-connector-java
5.1.30
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
log4j
log4j
${log4j.version}
com.alibaba
fastjson
1.1.41
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.codehaus.jackson
jackson-mapper-asl
1.9.13
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
ssm
org.apache.maven.plugins
maven-compiler-plugin
1.7
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c]%m%
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/test
username=root
password=root
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
text/html;charset=UTF-8
Archetype Created Web Application
contextConfigLocation
classpath:spring-mybatis.xml
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
true
encoding
UTF-8
encodingFilter
/*
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
true
SpringMVC
/
default
*.jpg
default
*.js
default
*.css
default
*.gif
/index.jsp
需要注意的是,spring-mybatis和spring-mvc这两个配置文件里面涉及到路径的要改成自己的实际路径,不然会报错。
修改项目编译路径为JRE系统类库,否则后续操作出错
eclipse新建maven工程找不到src/main/java,并且提示已存在,也可以下面操作。
在项目上右键选择properties,然后点击Java build path,在Librarys下,编辑JRESystem Library
框架搭建完成,然后我们连接数据库测试一下,下面是数据库创建语句
DROP TABLE IF EXISTS `user_t`;
CREATE TABLE `user_t` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(40) NOT NULL,
`password` varchar(255) NOT NULL,
`age` int(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=125556 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user_t
-- ----------------------------
INSERT INTO `user_t` VALUES ('12', '123', '123', '14');
INSERT INTO `user_t` VALUES ('123', 'test', '123', '13');
INSERT INTO `user_t` VALUES ('11111', 'zahgnsan', '123', '23');
INSERT INTO `user_t` VALUES ('123456', 'username', '12id', '34');
INSERT INTO `user_t` VALUES ('125555', '123', '123', '14');
建表成功以后,我们使用mybatis的插件来生成接口和mapper的代码,可以参考这个博客:
https://blog.csdn.net/frank_hsu_/article/details/80284952
生成之后将文件拷贝到我们的目录下,如图:
然后我们从前台到后台写一条线,先写一个查询。敲之前记得先把maven更新一下。
package com.cn.ssm.pojo;
public class User {
private Integer id;
private String userName;
private String password;
private Integer age;
/**
* @param id
* @param userName
* @param password
* @param age
*/
public User() {
super();
}
public User(Integer id, String userName, String password, Integer age) {
super();
this.id = id;
this.userName = userName;
this.password = password;
this.age = age;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User [id=" + id + ", userName=" + userName + ", password=" + password + ", age=" + age + "]";
}
}
package com.cn.ssm.dao;
import com.cn.ssm.pojo.User;
public interface UserMapper {
int deleteByPrimaryKey(Integer id);
int insert(User record);
int insertSelective(User record);
User selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(User record);
int updateByPrimaryKey(User record);
}
id, user_name, password, age
delete from user_t
where id = #{id,jdbcType=INTEGER}
insert into user_t (id, user_name, password,
age)
values (#{id,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR},
#{age,jdbcType=INTEGER})
insert into user_t
id,
user_name,
password,
age,
#{id,jdbcType=INTEGER},
#{userName,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR},
#{age,jdbcType=INTEGER},
update user_t
user_name = #{userName,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
age = #{age,jdbcType=INTEGER},
where id = #{id,jdbcType=INTEGER}
update user_t
set user_name = #{userName,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
age = #{age,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
package com.cn.ssm.service;
import com.cn.ssm.pojo.User;
public interface IUserService {
public User getUserById(int userId);
}
package com.cn.ssm.service.impl;
import javax.annotation.Resource;
import javax.transaction.Transactional;
import org.springframework.stereotype.Service;
import com.cn.ssm.dao.UserMapper;
import com.cn.ssm.pojo.User;
import com.cn.ssm.service.IUserService;
@Service
@Transactional
public class UserServiceImpl implements IUserService {
@Resource
public UserMapper userMapper;
public User getUserById(int userId) {
// TODO Auto-generated method stub
return this.userMapper.selectByPrimaryKey(userId);
}
}
package com.cn.ssm.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.cn.ssm.pojo.User;
import com.cn.ssm.service.IUserService;
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private IUserService userService;
@RequestMapping("userShow")
public String toIndex(HttpServletRequest request, Model model) {
int userId = Integer.parseInt(request.getParameter("id"));
System.out.println(userId);
User user = userService.getUserById(userId);
model.addAttribute("user", user);
return "showUser";
}
}
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
测试
${user.userName}
显示如图:
至此,SSM三大框架的整合就完成了,在此基础上可再添加其他功能。
全文参考https://blog.csdn.net/zhemeban/article/details/65937841