This commit is contained in:
Asriya
2025-08-21 09:44:27 +08:00
parent f58cba4a9a
commit dee0a290c9
6 changed files with 249 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
package org.dromara.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource;
import org.dromara.common.Result;
import org.dromara.common.core.domain.R;
import org.dromara.domain.Cls;
import org.dromara.domain.Teacher;
import org.dromara.domain.Teacher;
import org.dromara.mapper.TeacherMapper;
import org.dromara.service.IClsService;
import org.dromara.service.ITeacherService;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/teacher")
public class TeacherController {
@Resource
private ITeacherService teacherService;
/**
* 增
*/
@PostMapping("/add")
public Result add(@RequestBody Teacher teacher){
teacherService.add(teacher);
return Result.success();
}
/**
* 改
*/
@PutMapping("/update")
public Result update(@RequestBody Teacher teacher){
teacherService.update(teacher);
return Result.success();
}
/**
* 删
*/
@DeleteMapping("/deleteById/{id}")
public Result deleteById(@PathVariable Integer id){
teacherService.deleteById(id);
return Result.success();
}
/**
* 查找
*/
@GetMapping("/selectAll")
public Result selectAll(Teacher teacher){
List<Teacher> list=teacherService.selectAll(teacher);
return Result.success(list);
}
/**
* 查询单个数据
*/
@GetMapping("/selectById/{id}")
public Result selectById(@PathVariable Integer id){
Teacher teacher = teacherService.selectById(id);
return Result.success(teacher);
}
@PostMapping("/selectPage")
public R<IPage<Teacher>> selectPage(@RequestBody Teacher teacher) {
IPage<Teacher> list = teacherService.selectPage(teacher);
return R.ok(list);
}
}

View File

@@ -0,0 +1,21 @@
package org.dromara.domain;
import lombok.Data;
@Data
public class Teacher {
private Integer id;
private Integer teacherNo;
private String name;
private Integer age;
private String post;
private String email;
private String avatar;
private String clsName;
private String sex;
private String status;
private String remark;
private Integer clsId;
private Long pageNum;
private Long pageSize;
}

View File

@@ -0,0 +1,31 @@
package org.dromara.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.dromara.domain.Teacher;
import org.dromara.domain.Teacher;
import org.dromara.domain.Teacher;
import java.util.List;
public interface TeacherMapper extends BaseMapper<Teacher> {
List<Teacher> selectAll(Teacher teacher);
@Select("select * from teacher where id = #{id}")
Teacher selectById(Integer id);
int insert(Teacher teacher);
int updateById(Teacher teacher);
@Delete("delete from `teacher` where id = #{id}")
void deleteById(Integer id);
IPage<Teacher> selectPage(@Param("teacher") Teacher teacher, IPage<Teacher> page);
}

View File

@@ -0,0 +1,27 @@
package org.dromara.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.domain.Teacher;
import org.dromara.domain.Teacher;
import java.util.List;
/**
* 班级业务接口
*
* @author SkySource
* @Date: 2025/8/8 9:18
*/
public interface ITeacherService extends IService<Teacher> {
void add(Teacher teacher);
void update(Teacher teacher);
void deleteById(Integer id);
List<Teacher> selectAll(Teacher teacher);
Teacher selectById(Integer id);
IPage<Teacher> selectPage(Teacher teacher);
}

View File

@@ -0,0 +1,54 @@
package org.dromara.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.dromara.domain.Cls;
import org.dromara.domain.Teacher;
import org.dromara.domain.Teacher;
import org.dromara.domain.Teacher;
import org.dromara.mapper.TeacherMapper;
import org.dromara.mapper.TeacherMapper;
import org.dromara.service.ITeacherService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
public class TeacherService extends ServiceImpl<TeacherMapper, Teacher> implements ITeacherService {
@Resource
private TeacherMapper teacherMapper;
@Transactional
public void add(Teacher teacher) {
teacherMapper.insert(teacher);
}
@Transactional
public void update(Teacher teacher){
teacherMapper.updateById(teacher);
}
@Transactional
public void deleteById(Integer id){
teacherMapper.deleteById(id);
}
@Transactional(readOnly = true)
public List<Teacher> selectAll(Teacher teacher){
return teacherMapper.selectAll(teacher);
}
@Transactional(readOnly = true)
public Teacher selectById(Integer id){
return teacherMapper.selectById(id);
}
@Override
public IPage<Teacher> selectPage(Teacher teacher) {
IPage<Teacher> page = new Page<>(teacher.getPageNum(), teacher.getPageSize());
return teacherMapper.selectPage(teacher,page);
}
}

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.mapper.TeacherMapper">
<resultMap id="teacherResultMap" type="org.dromara.domain.Teacher">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="cls_name" property="clsName"/>
</resultMap>
<select id="selectAll" resultMap="teacherResultMap" parameterType="org.dromara.domain.Teacher">
select teacher.id, teacher.name,teacher.cls_id, cls.name as cls_name
from teacher
left join cls on teacher.cls_id = cls.id
<where>
<if test="name != null">teacher.name like concat('%', #{name}, '%')</if>
</where>
order by teacher.id desc
</select>
<insert id="insert" parameterType="org.dromara.domain.Teacher">
insert into `teacher` (name,cls_id)
values (#{name},#{clsId})
</insert>
<update id="updateById" parameterType="org.dromara.domain.Teacher">
update `teacher`
set name = #{name},
cls_id = #{clsId}
where id =#{id}
</update>
<select id="selectPage" resultType="org.dromara.domain.Teacher">
select t.id, t.name,t.cls_id, cls.name as clsName
from teacher as t
left join cls on t.cls_id = cls.id
<where>
<if test="teacher.name != null">t.name like concat('%', #{teacher.name}, '%')</if>
</where>
order by t.id desc
</select>
</mapper>