examples-pms.md 1.4 KB

CRUD 示例(PMS)

Controller 风格对齐示例

@RestController
@RequestMapping("/projectReport")
@Api(tags = "项目周报控制器")
public class ProjectReportController {

    @Resource
    private ProjectReportService projectReportService;

    @ApiOperation("添加项目周报")
    @PostMapping("/save")
    public boolean save(@RequestBody ProjectReport projectReport) {
        return projectReportService.save(projectReport);
    }

    @ApiOperation("分页查询")
    @PostMapping("/page")
    public Page<ProjectReport> page(@RequestBody ProjectReportPageQuery query) {
        return projectReportService.pageQuery(query);
    }
}

Mapper + XML 约束示例

public interface ProjectReportMapper extends BaseMapper<ProjectReport> {
    Page<ProjectReportVO> pageCustom(Page<ProjectReportVO> page, @Param("q") ProjectReportPageQuery query);
}
<mapper namespace="com.tofly.pms.supervise.mapper.ProjectReportMapper">
    <select id="pageCustom" resultType="com.tofly.pms.supervise.vo.ProjectReportVO">
        SELECT id, report_id, project_id, create_time
        FROM project_report
        <where>
            <if test="q != null and q.projectId != null">
                AND project_id = #{q.projectId}
            </if>
        </where>
    </select>
</mapper>

反例

// 错误:不要在 Mapper 注解里写 SQL
@Select("select * from project_report")
List<ProjectReport> listAll();