Combate prático: Implementando módulo de gerenciamento de informações dos alunos
- Preparação ambiental
- JDK
- Bota Primavera
- MeuBatis
- Crie um projeto Spring Boot
usando Spring Initializr para criar um novo projeto Spring Boot e adicione as seguintes dependências:
- Primavera Web
- Estrutura MyBatis
- Driver MySQL
- Design de banco de dados
Crie um banco de dados nomeado no banco de dados MySQLstudentdb
e crie umastudents
tabela nomeada com a seguinte estrutura de tabela:
CREATE TABLE `students` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`address` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- Configure a fonte de dados e MyBatis adicionando a seguinte configuração no arquivo
:application.properties
# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/studentdb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis配置
mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:mapper/*.xml
- Definir classe de entidade
Crie umaStudent
classe de entidade chamada, o código é o seguinte:
public class Student {
private int id;
private String name;
private String email;
private String address;
// getter和setter方法省略
}
- Definir interface do Mapper
Crie umaStudentMapper
interface do Mapper com o seguinte nome:
@Mapper
public interface StudentMapper {
List<Student> getAllStudents();
Student getStudentById(int id);
int addStudent(Student student);
int updateStudent(Student student);
int deleteStudent(int id);
}
- Definir arquivo de configuração XML do Mapper Crie
um arquivo de configuração nomeado abaixo com o seguinte código:resources/mapper
StudentMapper.xml
<mapper namespace="com.example.demo.mapper.StudentMapper">
<resultMap id="StudentMap" type="com.example.demo.entity.Student">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="email" column="email" />
<result property="address" column="address" />
</resultMap>
<select id="getAllStudents" resultMap="StudentMap">
SELECT * FROM students
</select>
<select id="getStudentById" resultMap="StudentMap">
SELECT * FROM students WHERE id=#{id}
</select>
<insert id="addStudent" parameterType="com.example.demo.entity.Student">
INSERT INTO students(name, email, address) VALUES(#{name}, #{email}, #{address})
</insert>
<update id="updateStudent" parameterType="com.example.demo.entity.Student">
UPDATE students SET name=#{name}, email=#{email}, address=#{address} WHERE id=#{id}
</update>
<delete id="deleteStudent">
DELETE FROM students WHERE id=#{id}
</delete>
</mapper>
- Implemente o Controller
para criar umStudentController
Controller nomeado, o código é o seguinte:
@RestController
@RequestMapping("/api")
public class StudentController {
@Autowired
private StudentMapper studentMapper;
@GetMapping("/students")
public List<Student> getAllStudents() {
return studentMapper.getAllStudents();
}
@GetMapping("/students/{id}")
public Student getStudentById(@PathVariable int id) {
return studentMapper.getStudentById(id);
}
@PostMapping("/students")
public int addStudent(@RequestBody Student student) {
return studentMapper.addStudent(student);
}
@PutMapping("/students")
public int updateStudent(@RequestBody Student student) {
return studentMapper.updateStudent(student);
}
@DeleteMapping("/students/{id}")
public int deleteStudent(@PathVariable int id) {
return studentMapper.deleteStudent(id);
}
}
- Teste a API
Use o Postman ou outras ferramentas para testar a API, por exemplo:
- OBTER http://localhost:8080/api/students
- OBTER http://localhost:8080/api/students/1
- POST http://localhost:8080/api/students
corpo da solicitação:{ "name": "张三", "email": "[email protected]", "address": "北京市海淀区" }
- PUT http://localhost:8080/api/students
corpo da solicitação:{ "id": 1, "name": "张三", "email": "[email protected]", "address": "北京市海淀区" }
- EXCLUIR http://localhost:8080/api/students/1
Depois de concluir as etapas acima, você pode usar Spring Boot e MyBatis para implementar um módulo simples de gerenciamento de informações do aluno.