看一下新增文章的需求:
接口文档:
开发思路:
先在controller下去创建add方法,方法内导入Service类获取add的结果;再在Service接口下去创建add的方法;然后在Service实现类下去实现方法的作用,且导入Mapper类去执行要对数据库执行的操作。
实操:
1.controller
先创建在controller包下去创建属于分类的controller类
package org.huangyingyuan.controller;
import org.huangyingyuan.pojo.Category;
import org.huangyingyuan.pojo.Result;
import org.huangyingyuan.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/category")
public class CategoryController {
@Autowired
private CategoryService categoryService;
@PostMapping("/add")
public Result add(@RequestBody Category category) {
categoryService.add(category);
return Result.success();
}
}
2.Service接口
package org.huangyingyuan.service;
import org.huangyingyuan.pojo.Category;
import org.springframework.stereotype.Service;
@Service
public interface CategoryService {
// 新增分类
void add(Category category);
}
3.ServiceImpl
package org.huangyingyuan.service.impl;
import org.huangyingyuan.mapper.CategoryMapper;
import org.huangyingyuan.pojo.Category;
import org.huangyingyuan.service.CategoryService;
import org.huangyingyuan.utils.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Map;
@Service
public class CategoryServiceIpml implements CategoryService {
@Autowired
private CategoryMapper categoryMapper;
@Override
public void add(Category category) {
//新增属性值
category.setCreate_time(LocalDateTime.now());
category.setUpdate_time(LocalDateTime.now());
//获取id
Map<String,Object> map=ThreadLocalUtil.get();
Integer id=(Integer)map.get("id");
category.setCreate_user(id);
categoryMapper.add(category);
}
}
4.Mapper
package org.huangyingyuan.mapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.huangyingyuan.pojo.Category;
@Mapper
public interface CategoryMapper {
@Insert("insert into category (category_name,category_alias,create_user,create_time,update_time)" +
" values (#{category_name},#{category_alias},#{create_user},#{create_time},#{update_time})")
void add(Category category);
}
结果如下:
测试:
成功结果:
参数校验
我们前面是开发完了,但是一些参数条件没有制约,现在我们来看一下
那么我们只需要这么两步操作:
在pojo实体类下去接入注解:
然后在controller引入的参数时去加入【@Validated】注解