Combate práctico: Implementación del módulo de gestión de información de los estudiantes.
- Preparación ambiental
- JDK
- Bota de primavera
- MiBatis
- Cree un proyecto Spring Boot
usando Spring Initializr para crear un nuevo proyecto Spring Boot y agregue las siguientes dependencias:
- Web de primavera
- Marco MyBatis
- Controlador MySQL
- Diseño de base de datos
Cree una base de datos nombrada en la base de datos MySQLstudentdb
y cree unastudents
tabla nombrada con la siguiente estructura de tabla:
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 la fuente de datos y MyBatis agregando la siguiente configuración en el archivo
: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 clase de entidad
Cree unaStudent
clase de entidad denominada, el código es el siguiente:
public class Student {
private int id;
private String name;
private String email;
private String address;
// getter和setter方法省略
}
- Definir la interfaz de Mapper
Cree unaStudentMapper
interfaz de Mapper con el siguiente nombre:
@Mapper
public interface StudentMapper {
List<Student> getAllStudents();
Student getStudentById(int id);
int addStudent(Student student);
int updateStudent(Student student);
int deleteStudent(int id);
}
- Definir el archivo de configuración XML de Mapper. Cree
un archivo de configuración llamado a continuación con el siguiente 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 el Controlador
para crear unStudentController
Controlador llamado, el código es el siguiente:
@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);
}
}
- Pruebe la API
Utilice Postman u otras herramientas para probar la API, por ejemplo:
- OBTENER http://localhost:8080/api/students
- OBTENER http://localhost:8080/api/students/1
- POST http://localhost:8080/api/students
cuerpo de solicitud:{ "name": "张三", "email": "[email protected]", "address": "北京市海淀区" }
- PONER http://localhost:8080/api/students
cuerpo de solicitud:{ "id": 1, "name": "张三", "email": "[email protected]", "address": "北京市海淀区" }
- ELIMINAR http://localhost:8080/api/students/1
Después de completar los pasos anteriores, puede usar Spring Boot y MyBatis para implementar un módulo simple de administración de información de los estudiantes.