个人博客系统首页展示(文章分页展示)

1、创建项目

image.png

image.png

image.png
image.png
image.png
点击Finish完成创建。

2、基础数据准备

  1. create DATABASE blog_system
  2. DROP TABLE IF EXISTS t_article;
  3. CREATE TABLE t_article (
  4. id int(11) NOT NULL AUTO_INCREMENT,
  5. title varchar(50) NOT NULL COMMENT '⽂章标题',
  6. content longtext COMMENT '⽂章具体内容',
  7. created date NOT NULL COMMENT '发表时间',
  8. modified date DEFAULT NULL COMMENT '修改时间',
  9. categories varchar(200) DEFAULT '默认分类' COMMENT '⽂章分类',
  10. tags varchar(200) DEFAULT NULL COMMENT '⽂章标签',
  11. allow_comment tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否允许评论',
  12. thumbnail varchar(200) DEFAULT NULL COMMENT '⽂章缩略图',
  13. PRIMARY KEY (id)
  14. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  15. INSERT INTO t_article VALUES ('1', '2019新版Java学习路线图','Java学习路线图具体内容
  16. 具体内容具体内容具体内容具体内容具体内容具体内容','2019-10-10', null, '默认分类',
  17. '‘2019,Java,学习路线图', '1', null);
  18. INSERT INTO t_article VALUES ('2', '2019新版Python学习线路图','据悉,Python已经⼊驻
  19. ⼩学⽣教材,未来不学Python不仅知识会脱节,可能与⼩朋友都没有了共同话题~~所以,从今天起不要再
  20. 找借⼝,不要再说想学Python却没有资源,赶快⾏动起来,Python等你来探索' ,'2019-10-10',
  21. null, '默认分类', '‘2019,Java,学习路线图', '1', null);
  22. INSERT INTO t_article VALUES ('3', 'JDK 8——Lambda表达式介绍',' Lambda表达式是JDK
  23. 8中⼀个重要的新特性,它使⽤⼀个清晰简洁的表达式来表达⼀个接⼝,同时Lambda表达式也简化了对集合
  24. 以及数组数据的遍历、过滤和提取等操作。下⾯,本篇⽂章就对Lambda表达式进⾏简要介绍,并进⾏演示
  25. 说明' ,'2019-10-10', null, '默认分类', '‘2019,Java,学习路线图', '1', null);
  26. INSERT INTO t_article VALUES ('4', '函数式接⼝','虽然Lambda表达式可以实现匿名内部类的
  27. 功能,但在使⽤时却有⼀个局限,即接⼝中有且只有⼀个抽象⽅法时才能使⽤Lamdba表达式代替匿名内部
  28. 类。这是因为Lamdba表达式是基于函数式接⼝实现的,所谓函数式接⼝是指有且仅有⼀个抽象⽅法的接
  29. ⼝,Lambda表达式就是Java中函数式编程的体现,只有确保接⼝中有且仅有⼀个抽象⽅法,Lambda表达
  30. 式才能顺利地推导出所实现的这个接⼝中的⽅法' ,'2019-10-10', null, '默认分类',
  31. '‘2019,Java,学习路线图', '1', null);
  32. INSERT INTO t_article VALUES ('5', '虚拟化容器技术——Docker运⾏机制介绍','Docker是⼀
  33. 个开源的应⽤容器引擎,它基于go语⾔开发,并遵从Apache2.0开源协议。使⽤Docker可以让开发者封装
  34. 他们的应⽤以及依赖包到⼀个可移植的容器中,然后发布到任意的Linux机器上,也可以实现虚拟化。
  35. Docker容器完全使⽤沙箱机制,相互之间不会有任何接⼝,这保证了容器之间的安全性' ,'2019-10-
  36. 10', null, '默认分类', '‘2019,Java,学习路线图', '1', null);

3、在pom.xml文件中,添加Spring Data Redis依赖启动器

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

4、数据库的连接配置、Redis服务连接配置

# MySQL数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/blog_system?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=000000
#显示使用JPA进行数据库查询的SQL语句
spring.jpa.show-sql=true
#开启驼峰命名匹配映射
mybatis.configuration.map-underscore-to-camel-case=true
#解决乱码
server.servlet.encoding.force-response=true

# Redis服务地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认)
spring.redis.password=

5、创建实体类

@Entity(name = "t_article")
public class Article {

    @Id //// 表明映射对应的主键id
    @GeneratedValue(strategy = GenerationType.IDENTITY) // 设置主键自增策略
    private Integer id;
    private String title;
    private String content;
    private Date created;
    private Date modified;
    private String categories;
    private String tags;
    private Integer allow_comment;
    private String thumbnail;
    // get/set 、toString
}

静态资源: 静态资源及页面已经准备好 需要在index.html中使用thymeleaf标签及表达式完成数据的页面展示