Springboot后端的JPA实现
springboot后端开发有多种类,JPA实现可以少写很多的mapper文件,当然使用生成器也可以生成相应的文件,用生成器生成的情况下次再写,此次记录一下使用JPA的形势实现一下后端的项目
所需资源
- 代码编辑器idea
-
计算机一台
-
带有数据库的服务器(电脑)一台
-
数据库连接软件 推荐Navicat
优点
明显加快开发速度,不用写mapper和mapper对应的dao减少了很多常规化的代码量(经常使用的),相对于其他的方式,显著加快了CRUD的速度.
开发步骤
创建数据库
新建数据库很简单,在此处不赘述,如果有不太清楚的话,推荐Google一下,实在不清楚的话可以留言评论.
数据库创建完成
创建表
编辑完成表后点击保存,输入表的名称 我的表的名称是user
填入表的数据(此处为实验程序)
致此 数据库创建完成
创建后端程序
使用idea创建spring项目
选择spring启动器
填写项目信息
选择依赖
此处选择 spring Web Mysql Driver 和spring Data JPA
选择项目的本地磁盘的位置
由此本地项目创建完成
下面才是重头戏
书写后端代码
首先创建实体类
创建pagkage名字为Entity,并且穿件User实体类
加入Entity注解,,并加入setter和getter方法,代码如下
package com.tcpgnl.jpatest.Entity;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
public class User {
@Id
private int id;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
private String username;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
private int age;
private String website;
}
创建Repository
创建interface 继承JPARepository 方法
代码如下:
package com.tcpgnl.jpatest.Repository;
import com.tcpgnl.jpatest.Entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends JpaRepository<User,Integer> {
}
创建Controller
package com.tcpgnl.jpatest.Controller;
import com.tcpgnl.jpatest.Entity.User;
import com.tcpgnl.jpatest.Repository.UserRepository;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
private UserRepository userRepository;
@GetMapping("/list")
public List<User> allUsers(){
return userRepository.findAll();
}
}
修改application.properties
修改自己的数据库的账号密码
spring.datasource.url=jdbc:mysql://localhost:3306/testtable?userSSL=false&useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
此时,代码已经完成
执行网址:
http://localhost:8080/user/list
执行效果如下图: