Article
- package com.lin.springboot01.pojo;
- import jakarta.validation.constraints.NotEmpty;
- import jakarta.validation.constraints.NotNull;
- import jakarta.validation.constraints.Pattern;
- import lombok.Data;
- import org.hibernate.validator.constraints.URL;
-
- import java.time.LocalDateTime;
-
- @Data
- public class Article {
- private Integer id;
- @NotEmpty
- @Pattern(regexp = "^\\S{1,16}$")
- private String title;
- @NotEmpty
- private String content;
- @NotEmpty
- @URL
- private String coverImg;
- private String state;
- @NotNull
- private Integer categoryId;
- private Integer createUser;
- private LocalDateTime createTime;
- private LocalDateTime updateTime;
- }
ArticleController
- package com.lin.springboot01.controller;
-
- import com.lin.springboot01.pojo.Article;
- import com.lin.springboot01.pojo.Result;
- import com.lin.springboot01.service.ArticleService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
-
-
- @RestController
- @RequestMapping("/article")
- public class ArticleController {
- @Autowired
- private ArticleService articleService;
- @PostMapping
- public Result add(@RequestBody @Validated Article article){
- articleService.add(article);
- return Result.success();
- }
- }
ArticleService
- package com.lin.springboot01.service;
-
- import com.lin.springboot01.pojo.Article;
-
- public interface ArticleService {
- //新增文章
- void add(Article article);
- }
ArticleServiceImpl
- package com.lin.springboot01.service.impl;
-
-
- import com.lin.springboot01.mapper.ArticleMapper;
- import com.lin.springboot01.pojo.Article;
- import com.lin.springboot01.service.ArticleService;
- import com.lin.springboot01.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 ArticleServiceImpl implements ArticleService {
- @Autowired
- private ArticleMapper articleMapper;
- @Override
- public void add(Article article) {
- article.setCreateTime(LocalDateTime.now());
- article.setUpdateTime(LocalDateTime.now());
- Map
map = ThreadLocalUtil.get(); - Integer userId = (Integer) map.get("id");
- article.setCreateUser(userId);
- articleMapper.add(article);
- }
- }
ArticleMapper
- package com.lin.springboot01.mapper;
-
- import com.lin.springboot01.pojo.Article;
- import org.apache.ibatis.annotations.Insert;
- import org.apache.ibatis.annotations.Mapper;
-
- @Mapper
- public interface ArticleMapper {
- //新增文章
- @Insert("insert into article(title,content,cover_img,state,category_id,create_user,create_time,update_time) values (#{title},#{content},#{coverImg},#{state},#{categoryId},#{createUser},#{createTime},#{updateTime})")
- void add(Article article);
- }