记录篇——SpringBoot开发个人博客(二)

这篇博客详细介绍了使用SpringBoot开发个人博客的过程,涵盖了实体类构建、登录管理和分类管理等核心模块。在实体类构建中,讨论了如何定义实体属性、实体关系以及评论的自关联。登录管理部分涉及UserService、UserRepository、LoginController及MD5加密。分类管理则讲解了TypeService、TypeRepository和TypeController的实现。文章还提到了MD5加密的配置以及登录拦截器的编写,为完整博客系统提供了基础架构。
摘要由CSDN通过智能技术生成

前面就是配置比较麻烦,来实物了,货真价实的东西。

1、实体类构建

(1)构建实体类的属性,其中用@Entity来连接数据库

Blog

@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; //更新时间
}    

其他类不写了

(2)实体关系

在这里插入图片描述
举个例子
在Blog类加上:

@ManyToOne
    private Type type;

在Type类加上:

@OneToMany(mappedBy = "type")
   private List<Blog> blogs = new ArrayList<>();

在新增一篇博客的时候你又想新增一个标签可以进行级联新增:

 @ManyToMany(cascade = {
   CascadeType.PERSIST})
    private List<Tag> tags = new ArrayList<>();
(3)评论类自关联关系在这里插入图片描述

在Comment类中

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

2、登录管理

(1)UserService和UserRepository

Service层
UserService接口

public interface UserService {
   
    User checkUser(String username, String password);
}

操作数据库DAO层
UserRepository接口

public interface UserRepository extends JpaRepository<User,Long> {
   
    User findByUsernameAndPassword(String username, String password);
}

UserServiceImpl接口实现

@Service
public class UserServiceImpl implements UserService {
   
    @Autowired
    private UserRepository userRepository;
    @Override
    public User checkUser(String username, String password) {
   
        User user = userRepository.findByUsernameAndPassword(username, password);
        return user;
    }
}
(2)LoginController实现登录

web层 LoginController

@Controller
@RequestMapping("/admin"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值