附上项目代码Githup地址:https://github.com/liuxianzhi/springboot
1.开发环境
windows-10
springboot-2.0.5
maven-3.5.4
mysql-8.0.11
jdk-8
2首先创建一个springboot项目
扫描二维码关注公众号,回复:
3474787 查看本文章
3.我们先来看一下项目结构
实体类User.java
package com.demo.entity;
import org.springframework.stereotype.Component;
@Component
public class User {
private Integer id;
private String username;
private String password;
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;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
Dao层UserMapper.java
package com.demo.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.demo.entity.User;
import java.util.List;
@Repository
@Mapper
public interface UserMapper {
User getUserById(Integer id);
List<User> listAll();
void addUser(User user);
boolean updateUser(User user);
boolean deleteUser(Integer id);
}
Service层以及实现类
package com.demo.service;
import com.demo.entity.User;
import java.util.List;
public interface UserService {
User getUserById(Integer id);
List<User> listAll();
void addUser(User user);
boolean updateUser(User user);
boolean deleteUser(Integer id);
}
package com.demo.service.impl;
import com.demo.entity.User;
import com.demo.mapper.UserMapper;
import com.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(Integer id) {
return userMapper.getUserById(id);
}
@Override
public List<User> listAll(){
return userMapper.listAll();
}
@Override
public void addUser(User user) {
userMapper.addUser(user);
}
@Override
public boolean updateUser(User user) {
return userMapper.updateUser(user);
}
@Override
public boolean deleteUser(Integer id) {
return userMapper.deleteUser(id);
}
}
Controller层
package com.demo.controller;
import com.demo.entity.User;
import com.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserService userService;
@Autowired
private User user;
//访问注册页面
@GetMapping("/register")
public ModelAndView register(){
ModelAndView mav = new ModelAndView("register");
return mav;
}
//访问更新页面
@GetMapping("/change")
public ModelAndView change(){
ModelAndView mav = new ModelAndView("change");
return mav;
}
//添加用户
@PostMapping("/add")
public String addUser(@RequestParam("username")String username, @RequestParam("password")String password, HttpServletRequest request) {
user.setUsername(username);
user.setPassword(password);
if(user.getUsername() !="" && user.getPassword() != ""){
userService.addUser(user);
return "添加成功!";
} else{
return "添加失败!";
}
}
//根据ID查询用户
@GetMapping("/select/{id}")
public User get(@PathVariable("id") Integer id) {
return userService.getUserById(id);
}
//查询所有用户
@RequestMapping("/list")
public List<User> list(){
return userService.listAll();
}
//更新用户
@RequestMapping("/update")
public String updateUser(@RequestParam("id") Integer id, @RequestParam("username") String username, @RequestParam("password") String password) {
user.setId(id);
user.setUsername(username);
user.setPassword(password);
if(id != null && username != "" && password != "") {
userService.updateUser(user);
return "修改成功!";
} else{
return "修改失败!";
}
}
//删除用户
@RequestMapping("/delete/{id}")
public String deleteUser(@PathVariable("id") Integer id) {
if(userService.deleteUser(id)){
return "删除成功!";
} else{
return "删除失败!";
}
}
}
mapper.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.demo.mapper.UserMapper">
<select id="getUserById" resultType="user" parameterType="user">
SELECT * FROM user where id = #{id}
</select>
<select id="listAll" resultType="user">
SELECT * FROM user
</select>
<insert id="addUser" parameterType="user">
INSERT INTO user(username,password) VALUES(#{username},#{password})
</insert>
<update id="updateUser" parameterType="user">
UPDATE user SET username = #{username},password = #{password} where id = #{id}
</update>
<delete id="deleteUser" parameterType="user">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
两个前台页面change.html 和 register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<p>更新</p>
<form action="/update" method="post">
<p>id:<input type="text" name="id" value=""></p>
<p>username:<input type="text" name="username" /></p>
<p>password:<input type="password" name="password" /></p>
<p><input type="submit" value="update"/></p>
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<p>注册</p>
<form action="/add" method="post">
<p>username:<input type="text" name="username" /></p>
<p>password:<input type="password" name="password" /></p>
<p><input type="submit" value="add"/></p>
</form>
</body>
</html>
配置文件 application.yml
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?useSSL=false
username: root
password: 1234
thymeleaf:
prefix: classpath:/templates/
suffix: .html
mybatis:
type-aliases-package: com.demo.entity
mapper-locations: classpath:mappers/*.xml
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>com.example</groupId>
<artifactId>demo-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo-test</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.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.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
数据库表字段:
好了 下面我们进行测试
添加数据
在浏览器中输入:http://localhost:8080/register
查询数据
一个是根据id查询:http://localhost:8080/select/1
一个是查询所有用户:http://localhost:8080/list
修改数据:
在浏览器中输入:http://localhost:8080/change
删除数据:
在浏览器中输入:http://localhost:8080/delete/1
到此,本篇文章结束!如果有什么问题,请多多指教!