返回

SpringBoot实战之旅:从零搭建日记本系统(六)——分页查询和增删改查

后端

分页查询

分页查询是一种将数据分成多个部分并一次只显示其中一部分的技术。这对于处理大量数据非常有用,因为它可以减少页面加载时间并提高用户体验。

在SpringBoot中,我们可以使用layPage来实现分页查询。layPage是一个流行的jQuery插件,它可以帮助我们轻松地创建分页控件。

要使用layPage,首先需要在项目中引入layPage的CSS和JavaScript文件。然后,在需要分页查询的页面上添加以下代码:

<script>
layui.use(['laypage', 'layer'], function(){
  var laypage = layui.laypage
  ,layer = layui.layer;

  // 执行一个laypage实例
  laypage.render({
    elem: 'page' //注意,这里的 elem 参数对应的是一个 HTML 元素的 ID,这个元素就是分页容器。
    ,count: 100 //数据总数,从服务端得到
    ,limit: 10 //每页显示的条数
    ,limits: [10, 20, 50, 100]
    ,jump: function(obj){
      //obj包含了当前页、每页条数以及总页数
      console.log(obj)
    }
  });
});
</script>

这样,我们就创建了一个分页控件。当用户点击分页控件上的按钮时,layPage会自动触发一个jump事件,并将当前页、每页条数以及总页数传递给jump事件的回调函数。

在回调函数中,我们可以根据当前页和每页条数来查询数据。例如,我们可以使用以下代码来查询当前页的数据:

Page<Diary> page = diaryService.findAll(pageable);

其中,pageable是一个Pageable对象,它包含了当前页和每页条数的信息。diaryService是我们的日记服务,它提供了findAll方法来查询所有日记。

增删改查

增删改查是数据库中最基本的操作。在SpringBoot中,我们可以使用JPA来实现增删改查操作。

JPA是一个对象-关系映射框架,它可以帮助我们在Java对象和数据库表之间建立映射关系。这样,我们就可以直接操作Java对象来实现增删改查操作。

要使用JPA,首先需要在项目中引入JPA的依赖。然后,我们需要创建一个实体类来映射到数据库表。例如,我们可以创建一个Diary实体类来映射到diary表:

@Entity
@Table(name = "diary")
public class Diary {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "title")
    private String title;

    @Column(name = "content")
    private String content;

    @Column(name = "create_time")
    private Date createTime;

    @Column(name = "update_time")
    private Date updateTime;

    // 省略getter和setter方法
}

接下来,我们需要创建一个JPA仓库来操作Diary实体类。我们可以使用以下代码来创建一个DiaryRepository:

public interface DiaryRepository extends JpaRepository<Diary, Long> {

}

这样,我们就创建了一个DiaryRepository,它可以帮助我们操作Diary实体类。我们可以使用DiaryRepository来实现增删改查操作。例如,我们可以使用以下代码来新增一条日记:

Diary diary = new Diary();
diary.setTitle("我的第一篇日记");
diary.setContent("今天,我开始写日记了。我想记录下我每天的生活,这样当我老了的时候,我可以回过头来看一看,看看我曾经经历过什么。");
diaryRepository.save(diary);

我们可以使用以下代码来删除一条日记:

diaryRepository.deleteById(id);

我们可以使用以下代码来修改一条日记:

Diary diary = diaryRepository.findById(id).get();
diary.setTitle("我的第一篇日记(修改版)");
diary.setContent("今天,我开始写日记了。我想记录下我每天的生活,这样当我老了的时候,我可以回过头来看一看,看看我曾经经历过什么。(修改版)");
diaryRepository.save(diary);

我们可以使用以下代码来查询所有日记:

List<Diary> diaries = diaryRepository.findAll();

这样,我们就完成了分页查询和增删改查功能的实现。现在,我们的日记本系统已经可以正常使用了。