切换主题
一、基本操作
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映射文件。这个文件夹名称通常是按照持久化层的组织结构来命名的,但具体的命名可以根据项目的约定而有所不同。
- 通常用于定义数据库操作的接口,其中的方法对应于数据库的查询、插入、更新、删除等操作。
- 这些接口负责定义数据库操作的语句,但并不提供实际的实现。
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);
}
}