java-blog-0713

blog.class

@Entity
@Table(name = “t_blog”)
public class Blog {

@Id
@GeneratedValue
private Long id;

private String title;

@Basic(fetch = FetchType.LAZY)
@Lob
private String content;
private String firstPicture;
private String flag;
private Integer views;
private boolean appreciation;
private boolean shareStatement;
private boolean commentabled;
private boolean published;
private boolean recommend;
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
@Temporal(TemporalType.TIMESTAMP)
private Date updateTime;

@ManyToOne
private Type type;

@ManyToMany(cascade = {CascadeType.PERSIST})
private List<Tag> tags = new ArrayList<>();


@ManyToOne
private User user;

@OneToMany(mappedBy = "blog")
private List<Comment> comments = new ArrayList<>();

@Transient
private String tagIds;

private String description;

public Blog() {
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public String getContent() {
    return content;
}

public void setContent(String content) {
    this.content = content;
}

public String getFirstPicture() {
    return firstPicture;
}

public void setFirstPicture(String firstPicture) {
    this.firstPicture = firstPicture;
}

public String getFlag() {
    return flag;
}

public void setFlag(String flag) {
    this.flag = flag;
}

public Integer getViews() {
    return views;
}

public void setViews(Integer views) {
    this.views = views;
}

public boolean isAppreciation() {
    return appreciation;
}

public void setAppreciation(boolean appreciation) {
    this.appreciation = appreciation;
}

public boolean isShareStatement() {
    return shareStatement;
}

public void setShareStatement(boolean shareStatement) {
    this.shareStatement = shareStatement;
}

public boolean isCommentabled() {
    return commentabled;
}

public void setCommentabled(boolean commentabled) {
    this.commentabled = commentabled;
}

public boolean isPublished() {
    return published;
}

public void setPublished(boolean published) {
    this.published = published;
}

public boolean isRecommend() {
    return recommend;
}

public void setRecommend(boolean recommend) {
    this.recommend = recommend;
}

public Date getCreateTime() {
    return createTime;
}

public void setCreateTime(Date createTime) {
    this.createTime = createTime;
}

public Date getUpdateTime() {
    return updateTime;
}

public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
}

public Type getType() {
    return type;
}

public void setType(Type type) {
    this.type = type;
}

public List<Tag> getTags() {
    return tags;
}

public void setTags(List<Tag> tags) {
    this.tags = tags;
}


public User getUser() {
    return user;
}

public void setUser(User user) {
    this.user = user;
}


public List<Comment> getComments() {
    return comments;
}

public void setComments(List<Comment> comments) {
    this.comments = comments;
}


public String getTagIds() {
    return tagIds;
}

public void setTagIds(String tagIds) {
    this.tagIds = tagIds;
}

public String getDescription() {
    return description;
}

public void setDescription(String description) {
    this.description = description;
}

public void init() {
    this.tagIds = tagsToIds(this.getTags());
}

//1,2,3
private String tagsToIds(List<Tag> tags) {
    if (!tags.isEmpty()) {
        StringBuffer ids = new StringBuffer();
        boolean flag = false;
        for (Tag tag : tags) {
            if (flag) {
                ids.append(",");
            } else {
                flag = true;
            }
            ids.append(tag.getId());
        }
        return ids.toString();
    } else {
        return tagIds;
    }
}


@Override
public String toString() {
    return "Blog{" +
            "id=" + id +
            ", title='" + title + '\'' +
            ", content='" + content + '\'' +
            ", firstPicture='" + firstPicture + '\'' +
            ", flag='" + flag + '\'' +
            ", views=" + views +
            ", appreciation=" + appreciation +
            ", shareStatement=" + shareStatement +
            ", commentabled=" + commentabled +
            ", published=" + published +
            ", recommend=" + recommend +
            ", createTime=" + createTime +
            ", updateTime=" + updateTime +
            ", type=" + type +
            ", tags=" + tags +
            ", user=" + user +
            ", comments=" + comments +
            ", tagIds='" + tagIds + '\'' +
            ", description='" + description + '\'' +
            '}';
}

}

tag.class

@Entity
@Table(name = “t_tag”)
public class Tag {

@Id
@GeneratedValue
private Long id;
private String name;

@ManyToMany(mappedBy = "tags")
private List<Blog> blogs = new ArrayList<>();

public Tag() {
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public List<Blog> getBlogs() {
    return blogs;
}

public void setBlogs(List<Blog> blogs) {
    this.blogs = blogs;
}

@Override
public String toString() {
    return "Tag{" +
            "id=" + id +
            ", name='" + name + '\'' +
            '}';
}

}

tagServiceimpl.class

@Service
public class TagServiceImpl implements ITagService {

@Autowired
private TagDao tagDao;

@Override
public Page<Tag> listType(Pageable pageable) {
    Page<Tag> page = tagDao.findAll(pageable);
    return page;

}

@Override
public void deleteType(Long id) {
    tagDao.deleteById(id);

}

}

tagController

@Controller()
@RequestMapping(“admin/tags”)
public class TagController {

@Autowired
private ITagService tagService;


@GetMapping
public String list(@PageableDefault(size = 5,sort = {"id"},direction = Sort.Direction.DESC) Pageable pageable, Model model){
    Page<Tag> page = tagService.listType(pageable);
    model.addAttribute("page",page);
    return "admin/tags";

}

@GetMapping("{id}/delete")
public String delete(@PathVariable Long id){
    tagService.deleteType(id);
    return "redirect:/admin/types";
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值