文章目录
-
-
- 一 项目架构
- 二 项目实现
-
- 1. 数据库设计
- 2. 添加maven依赖(pom.xml)
- 3. 添加配置文件
- 4. Model层
- 5. Dao层
- 6. service层
- 7. Controller层
- 8. SpringBoot启动类
- 三 项目测试
-
- 1.测试项目是否能跑起来
- 2.查询全部
- 3.增加用户
- 4.删除用户
- 5.修改用户
- 6.用户登录
- 四 总结
一 项目架构
开发工具: IntelliJ IDEA 2019.3.3
使用技术: SpringBoot+mybatis+maven+mysql
测试工具: postman
项目搭建:

二 项目实现
1. 数据库设计
create table `user`(
id int(10) primary key auto_increment,
username varchar(30),
password varchar(30),
gender varchar(10)
)
insert into user values(default,"zs","123","男");
insert into user values(default,"ls","1234","女");
insert into user values(default,"ww","1235","男");
2. 添加maven依赖(pom.xml)
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot 整合mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
3. 添加配置文件
这里使用application.yml文件,相对于properties配置文件,yml有着天然树形结构,使得它看起来更加直观,不用重复的去写前缀,
spring:
datasource:
url: jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8
username: root
password: abc123
driver-class-name: com.mysql.jdbc.Driver
useUnicode=true&characterEncoding=utf8的作用:插入数据到mysql时不会出现中文乱码
4. Model层
可以使用Alt+Insert来生成getset方法和构造器方法
package com.example.demo.entity;
public class User {
private int id;
private String name;
private String password;
private String gender;
public User() {
}
public User(String name, String password, String gender) {
this.name = name;
this.password = password;
this.gender = gender;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
", gender='" + gender + '\'' +
'}';
}
}
5. Dao层
这里通过注解来实现增删改查,可以不用编写对应的xml文件
package com.example.demo.mapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
public interface UserMapper {
@Insert("insert into user values(default,#{name},#{password},#{gender})")
public int insertUser(User user);
@Select("select * from user")
public List<User> selectAll();
@Delete("delete from user where id=#{id}")
public int deleteUser(int id);
@Update("update user set name=#{name},password=#{password},gender=#{gender} where id=#{id}")
public int updateUser(User user);
@Select("select * from user where name=#{name},password=#{password}")
public int login(@Param("name") String name,@Param("password") String password);
}
6. service层
package com.example.demo.service;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public int addUser(User user) {
return userMapper.insertUser(user);
}
public List<User> findAll() {
return userMapper.selectAll();
}
public int updUser(User user) {
return userMapper.updateUser(user);
}
public int delUser(int id) {
return userMapper.deleteUser(id);
}
public int login(String name,String password){
return userMapper.login(name,password);
}
}
7. Controller层
做了五个简单的接口,查询全部用户,增加用户,删除用户,修改用户,用户登录
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("index")
public String index() {
return "Hello world";
}
@RequestMapping("/addUser")
public String addUser() {
User user = new User("zs", "123", "男");
return userService.addUser(user) > 0 ? "success" : "fail";
}
@RequestMapping("/findAll")
public List<User> findAll() {
return userService.findAll();
}
@RequestMapping("/updUser")
public String updUser(int id) {
User user = new User("ls", "123", "女");
user.setId(id);
return userService.updUser(user) > 0 ? "success" : "fail";
}
@RequestMapping("/delUser")
public String delUser(int id) {
return userService.delUser(id) > 0 ? "success" : "fail";
}
@RequestMapping("/login")
public String login(String name, String password) {
return userService.login(name, password) > 0 ? "登录成功" : "登录失败";
}
}
8. SpringBoot启动类
package com.example.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
三 项目测试
这里通过postman来测试接口
1.测试项目是否能跑起来
出现Hellow World表示项目部署成功,报错请检查配置以及注解是否正确

2.查询全部
出现以下结果表示整合mybatis成功,报错请检查application.yml文件名以及文件配置信息是否不对

3.增加用户

4.删除用户

5.修改用户

6.用户登录

四 总结
曾经看过这么一段话,当你的才华还不足以支撑你的野心时,你就应该静下心来好好学习,在此与各位共勉。