在eclipse上使用springboot集成springdata JPA将数据库的内容分页显示到网页上

在eclipse上使用springboot集成springdata JPA连接数据库

springboot

最近在用java做一个小接口,因为刚上手java,不是很熟悉,因此花了很长的时间来做这个小接口,目标很简单,就是使用springboot的框架,访问数据库,再显示到网页上,因为数据库条数很多,所以可以再添加一个分页的小功能。

初步搭建springboot项目

有两种方法可以搭建springboot项目,一个是创建maven工程,再在pom.xml中配置起步依赖,再编写springboot的所需的基础文件;另一个方法是在help-eclipse marketplace中下载springboot的插件:spring boots 4,就可以直接搭建springboot项目。如图:
在这里插入图片描述
点击next,再next
在这里插入图片描述
接下来就是导入所需要的依赖:
Developer Tools-Spring Boot DevTools(热部署,这样不用每次都重启服务)
SQL-Spring Data JPA
SQL-MySQL Driver(连接mysql的驱动)
在这里插入图片描述
点击finish,静静等待一段时间,就搭建好springboot的初步框架了。

完善springboot项目

1.查看pom.xml 文件
可以看到项目所依赖的包的情况,可以看到大部分依赖都有starter,也就是对多个依赖关系的整理和封装。同时,每个starter都有自动配置AutoConfiguration,自动配置jar包,默认版本,约定了所需的jar包和版本信息,也就是springboot被称为约定大于配置的原因。需要再添加web服务和jdbc依赖:

web服务依赖
在这里插入图片描述
JDBC依赖

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

2.配置数据库基本信息
创建application.yml文件(注意冒号后有一个空格)

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/mysql
    driver-class-name: com.mysql.cj.jdbc.Driver
   // username: 输入用户名
   // password: 输入密码
   // url: jdbc:mysql://数据库的ip地址:数据库端口(如:3306)/数据库名称


  jpa:
    hibernate:
      ddl-auto: update 
    show-sql: true

3.创建实体类
在ProjectApplication的同一级目录下创建package-entity,再在该包下创建实体类User,如图所示:
在这里插入图片描述
通过注释将实体类完善,首先创建所访问数据库的所有关键字,标明主键,再使用resource中的getter,setter方法。

package com.dm.demo.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="user")
public class User {		
	@Id
	@GeneratedValue(strategy =GenerationType.IDENTITY )
	private Integer id;
			
	private String title;
	private String author;
	
	//使用getter setter方法
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
}

4.创建dao接口
继续在在ProjectApplication的同一级目录下创建package-repository,创建UserRepository类,接口一般是抽象类,此处是继承JpaRepository类,可以对数据库进行简单的CURD操作。而继承的JpaSpecificationExecutor类则可以做稍微复杂的操作。

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

import com.dm.demo.entity.User;



public interface UserRepository extends JpaRepository<User, Integer>,JpaSpecificationExecutor<User>{
	
}

5.编写controller类对数据库进行基本操作
继续在在ProjectApplication的同一级目录下创建package-controller,创建UserController类,
此处仅展示连接到网页的分页操作:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import com.dm.demo.entity.User;
import com.dm.demo.repository.UserRepository;

@RestController
@CrossOrigin

public class UserController {
	@Autowired
	private UserRepository paperRepository;
	
	@GetMapping(value = "/article/{page}/{size}")
	public Page<User> articleFind(@PathVariable int page,@PathVariable int size) {
		PageRequest pageRequest=PageRequest.of(page-1, size);
		Page<User> byPage =paperRepository.findAll(pageRequest);
		return byPage;

	}
}

至此,项目搭建完成。

在网页中打开

1.运行ProjectApplication.java–run
在这里插入图片描述
2.在网页中打开
输入之前在papplication.yml中设置的数据库ip地址+":8080/article/{page}/{size}"
如果是本地数据库的话:
可以打开http://localhost:8080/article/2/20
也就是每页显示20条数据,显示第二页。

结束语

至此,一个小小的springboot项目搭建完成,java新手,如若有错误,烦请指出,感谢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值