Skip to content

一、基本操作

1、创建项目

1、选择版本号

选择3.1.6

图片

2、查看pom文件

图片

3、导入依赖mysql和mybatis

图片

4、配置application.yaml文件--数据库链接

图片

2、创建user表

sql
create database if not exists mybatis;

use mybatis;

create table user
(
    id     int unsigned primary key auto_increment comment 'ID',
    name   varchar(100) comment '姓名',
    age    tinyint unsigned comment '年龄',
    gender tinyint unsigned comment '性别,1:男,2:女',
    phone  varchar(11) comment '手机号'
) comment '用户表';

insert into user(id, name, age, gender, phone)
VALUES (null, '白眉鹰王', 55, '1', '1880000000');
insert into user(id, name, age, gender, phone)
VALUES (null, '金毛狮王', 45, '1', '18800000001');
insert into user(id, name, age, gender, phone)
VALUES (null, '青翼蝠王', 38, '1', '18800000002');
insert into user(id, name, age, gender, phone)
VALUES (null, '紫衫龙王', 42, '2', '1880000003');
insert into user(id, name, age, gender, phone)
VALUES (null, '光明左使', 37, '1', '1880000004');
insert into user(id, name, age, gender, phone)
VALUES (null, '光明右使', 48, '1', '18800000005');

3、创建实体类文件夹pojo

POJO 是 "Plain Old Java Object" 的缩写,翻译过来就是"普通的旧Java对象"。在Java开发中,POJO 一般指的是没有任何特殊限制、规范或依赖的普通Java对象。

在Spring Boot项目中,pojo 文件夹通常用于存放这样的普通Java对象,这些对象一般用于表示数据结构、实体类、DTO(数据传输对象)等。这些类通常只包含私有字段、对应的getter和setter方法以及可能的其他实用方法,而不包含与特定框架或技术相关的注解。

1、创建user实体类

java
package com.example.pojo;

public class User {
    private Integer id;
    private String name;
    private  Short age;
    private Short gender;
    private String phone;


    public User() {
    }

    public User(Integer id, String name, Short age, Short gender, String phone) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.phone = phone;
    }

    /**
     * 获取
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return age
     */
    public Short getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(Short age) {
        this.age = age;
    }

    /**
     * 获取
     * @return gender
     */
    public Short getGender() {
        return gender;
    }

    /**
     * 设置
     * @param gender
     */
    public void setGender(Short gender) {
        this.gender = gender;
    }

    /**
     * 获取
     * @return phone
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 设置
     * @param phone
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String toString() {
        return "User{id = " + id + ", name = " + name + ", age = " + age + ", gender = " + gender + ", phone = " + phone + "}";
    }
}

4、创建mapper文件夹

mapper 文件夹通常在持久层(DAO层)中用于存放 MyBatis 或其他持久化框架的映射器(Mapper)接口和XML映射文件。这个文件夹名称通常是按照持久化层的组织结构来命名的,但具体的命名可以根据项目的约定而有所不同。

  1. 通常用于定义数据库操作的接口,其中的方法对应于数据库的查询、插入、更新、删除等操作。
  2. 这些接口负责定义数据库操作的语句,但并不提供实际的实现。

mapper -> UserMapper

java
package com.example.mapper;

import com.example.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserMapper {
    @Select("select * from user where id = #{id}")
    public User findById(Integer id);
}

5、创建service文件夹

service 文件夹通常用于存放服务层(Service Layer)的代码。服务层是应用程序的业务逻辑的抽象,负责处理业务规则、调用持久层(DAO层)进行数据访问,以及协调不同的组件。

service -> UserService

java
package com.example.service;

import com.example.pojo.User;

public interface UserService {
    public User findById(Integer id);
}

6、创建impl文件夹

impl 是 "implementation" 的缩写,完整单词是 "implementation"。在软件开发中,这个术语通常用于表示接口或抽象类的具体实现。因此,在 service 接口的 impl 包中,你会找到服务接口的具体实现类。

service -> impl -> UserServiceImpl

java
package com.example.service.impl;

import com.example.mapper.UserMapper;
import com.example.pojo.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public User findById(Integer id){
        return userMapper.findById(id);
    }
}

7、创建controller文件夹

controller文件夹或包是存储处理HTTP请求的类的地方。这些类与业务逻辑(服务)交互,并返回适当的响应给客户端。控制器是MVC模式的关键组件之一,负责处理用户输入并管理数据在模型和视图之间的流动。

controller -> userController

java
package com.example.controller;

import com.example.pojo.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/{id}")
    public User findById(@PathVariable Integer id) {
        return userService.findById(id);
    }
}

8、测试数据

图片