写一个ssm整合关于学生表、教室表、教师表的多表增删改查
时间: 2024-01-14 07:02:15 浏览: 28
为了实现SSM框架下的多表增删改查操作,我们首先需要进行以下几个步骤:
1. 创建数据库表
首先,我们需要在数据库中创建学生表(student)、教室表(classroom)和教师表(teacher)。这些表应该包含相应的字段,例如学生表可以包含学生ID、姓名、年龄等字段,教室表可以包含教室ID、名称、容量等字段,教师表可以包含教师ID、姓名、职称等字段。
2. 创建实体类
在Java代码中,我们需要创建与数据库表对应的实体类。分别创建名为Student、Classroom和Teacher的实体类,并在类中定义相应的属性和方法。
3. 创建Mapper接口
在SSM框架中,Mapper接口用于定义与数据库交互的方法。我们需要创建名为StudentMapper、ClassroomMapper和TeacherMapper的接口,并在接口中定义增删改查等方法。
4. 创建Mapper.xml文件
在resources目录下创建与Mapper接口对应的Mapper.xml文件,用于编写SQL语句和实现与数据库的交互。
5. 创建Service接口和实现类
创建名为StudentService、ClassroomService和TeacherService的接口,并在接口中定义对应的增删改查方法。然后创建相应的实现类StudentServiceImpl、ClassroomServiceImpl和TeacherServiceImpl,并在实现类中注入Mapper接口,实现具体的业务逻辑。
6. 创建Controller类
创建名为StudentController、ClassroomController和TeacherController的Controller类,用于处理前端请求。在Controller类中注入Service接口,并定义相应的请求路径和方法。
具体的代码实现过程可以参考下面的示例:
StudentMapper.xml 文件示例:
```xml
<!-- 增加学生 -->
<insert id="addStudent" parameterType="com.example.model.Student">
INSERT INTO student (id, name, age) VALUES (#{id}, #{name}, #{age})
</insert>
<!-- 删除学生 -->
<delete id="deleteStudent" parameterType="int">
DELETE FROM student WHERE id = #{id}
</delete>
<!-- 更新学生 -->
<update id="updateStudent" parameterType="com.example.model.Student">
UPDATE student SET name = #{name}, age = #{age} WHERE id = #{id}
</update>
<!-- 查询学生 -->
<select id="getStudentById" parameterType="int" resultType="com.example.model.Student">
SELECT id, name, age FROM student WHERE id = #{id}
</select>
```
StudentMapper.java 文件示例:
```java
public interface StudentMapper {
// 增加学生
void addStudent(Student student);
// 删除学生
void deleteStudent(int id);
// 更新学生
void updateStudent(Student student);
// 查询学生
Student getStudentById(int id);
}
```
StudentServiceImpl.java 文件示例:
```java
@Service
public class StudentServiceImpl implements StudentService {
@Autowired
private StudentMapper studentMapper;
@Override
public void addStudent(Student student) {
studentMapper.addStudent(student);
}
@Override
public void deleteStudent(int id) {
studentMapper.deleteStudent(id);
}
@Override
public void updateStudent(Student student) {
studentMapper.updateStudent(student);
}
@Override
public Student getStudentById(int id) {
return studentMapper.getStudentById(id);
}
}
```
StudentController.java 文件示例:
```java
@RestController
@RequestMapping("/student")
public class StudentController {
@Autowired
private StudentService studentService;
@PostMapping("/add")
public String addStudent(@RequestBody Student student) {
studentService.addStudent(student);
return "添加成功";
}
@DeleteMapping("/delete/{id}")
public String deleteStudent(@PathVariable("id") int id) {
studentService.deleteStudent(id);
return "删除成功";
}
@PutMapping("/update")
public String updateStudent(@RequestBody Student student) {
studentService.updateStudent(student);
return "更新成功";
}
@GetMapping("/get/{id}")
public Student getStudentById(@PathVariable("id") int id) {
return studentService.getStudentById(id);
}
}
```
通过以上步骤,我们就可以在SSM框架下实现多表的增删改查操作。