声明:写此博客是为了记录个人技术学习的全过程,防止后期时间久了会有遗忘。希望同时也能帮到有需要的朋友
一、创建springboot项目
右键New-Spring Starter-Project
选择war包
搜索并添加依赖
创建完成
二、修改pom.xml,添加对jsp支持的依赖
代码:
<?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>com.wangzf</groupId>
<artifactId>testspbt06_ssm</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>testspbt06_ssm</name>
<description></description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 对jsp页面的支持 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
三、添加并编辑配置文件
在src/main/resource下创建文件夹mapperConfig,并在该目录下创建文件sqlMapConfig.xml
sqlMapConfig.xml中的内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
在src/main/java下创建持久层的包xxx.mapper,并在包下创建UserMapper.xml
UserMapper.xml文件中的内容
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.wangzf.ssm.mapper.UserMapper">
<select id="getList" resultType="user">
select * from t_user
</select>
<insert id="add" parameterType="user">
insert into t_user(name,pwd) values(#{name},#{pwd})
</insert>
<delete id="delete" parameterType="java.lang.String">
delete from t_user where id in (${value});
</delete>
</mapper>
四、创建J2EE架构需要的接口和类
User.java
package com.wangzf.ssm.domain;
public class User {
private Integer id;
private String name;
private String pwd;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(Integer id, String name, String pwd) {
super();
this.id = id;
this.name = name;
this.pwd = pwd;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
UserMapper.java
package com.wangzf.ssm.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.wangzf.ssm.domain.User;
@Mapper
public interface UserMapper {
List<User> getList();
int add(User user);
void delete(String ids);
void update(User user);
}
UserService.java
package com.wangzf.ssm.service;
import java.util.List;
import com.wangzf.ssm.domain.User;
public interface UserService {
List<User> getList();
int add(User user);
void delete(String ids);
void update(User user);
}
UserServiceImpl.java
package com.wangzf.ssm.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.wangzf.ssm.domain.User;
import com.wangzf.ssm.mapper.UserMapper;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> getList() {
return userMapper.getList();
}
@Override
public int add(User user) {
return userMapper.add(user);
}
@Override
public void delete(String ids) {
userMapper.delete(ids);
}
@Override
public void update(User user) {
userMapper.update(user);
}
}
UserController.java
package com.wangzf.ssm.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.wangzf.ssm.domain.User;
import com.wangzf.ssm.service.UserService;
@Controller
public class UserController {
// 注入service对象
@Autowired
private UserService userService;
@RequestMapping("/getList")
public String findAll(HttpServletRequest request) {
List<User> list = userService.getList();
request.setAttribute("list", list);
return "list.jsp";
}
@RequestMapping("/toAddUser")
public String toAddUser() {
return "add.jsp";
}
@RequestMapping("/add")
public String addUser(User user) {
System.out.println(user);
userService.add(user);
return "redirect:getList";
}
@RequestMapping("/delete")
public String deleteUser(String ids) {
System.out.println(ids);
userService.delete(ids);
return "redirect:getList";
}
}
五、在src下的main下的webapp下,创建需要的jsp页面
add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/css/index_work.css">
</head>
<body>
<h1>新增用户页面-JSP</h1>
<form action="add" method="post">
姓名:<input name="name"><p>
密码:<input name="pwd"><p>
<input type="submit" value="增加">
</form>
</body>
</html>
list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/css/index_work.css">
</head>
<body>
<h1>列表显示页面-JSP</h1>
<table>
<tr>
<td>编号</td>
<td>姓名</td>
<td>密码</td>
<td><a href="toAddUser">添加</a></td>
</tr>
<c:forEach items="${list}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.pwd}</td>
<td><a href="delete?ids=${user.id}">删除</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
六、编辑application.properties
#springboot整合mybatis框架
#加载Mybatis配置文件
mybatis.mapper-locations=classpath:com/wangzf/ssm/mapper/*Mapper.xml
mybatis.config-location=classpath:mapperConfig/sqlMapConfig.xml
#定义别名
mybatis.type-aliases-package=com.wangzf.ssm.domain
#数据源
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
#加载css文件
#Locations of static resources. Defaults to classpath:[/META-INF/resources/, /resources/,
#/static/, /public/] plus context:/ (the root of the servlet context).
#默认加载static目录下的静态文件
#spring.resources.static-locations=/css/
#spring.mvc.static-path-pattern=/**
七、导入静态文件到static目录下
八、启动服务,访问测试