最近在用java做一个小接口,因为刚上手java,不是很熟悉,因此花了很长的时间来做这个小接口,目标很简单,就是使用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的初步框架了。
1.查看pom.xml 文件
可以看到项目所依赖的包的情况,可以看到大部分依赖都有starter,也就是对多个依赖关系的整理和封装。同时,每个starter都有自动配置AutoConfiguration,自动配置jar包,默认版本,约定了所需的jar包和版本信息,也就是springboot被称为约定大于配置的原因。需要再添加web服务和jdbc依赖:
org.springframework.boot
spring-boot-starter-jdbc
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,JpaSpecificationExecutor{
}
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 articleFind(@PathVariable int page,@PathVariable int size) {
PageRequest pageRequest=PageRequest.of(page-1, size);
Page 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新手,如若有错误,烦请指出,感谢!