一、建库
1、在本地创建一个名字为jpa的空表的数据库
1、springboot项目创建过程省略,pom.xml文件需要引入如下依赖:
org.springframework.boot
spring-boot-starter-data-jdbc
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-web
mysql
mysql-connector-java
5.1.46
2、application.yml的配置如下:
spring:
datasource:
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/jpa
三、代码如下:
1、目录层次如下图:下面的所有操作都是在该目录结构中操作 2、在entity文件夹下创建User实体类,如下代码:
package com.rf.springboot.entity;
import javax.persistence.*;
/**
* 使用jpa注解配合映射关系
* */
@Entity //告诉jpa这是一个实体类(和数据表映射的类)
@Table(name="sys_user") //@Table来指定和哪个数据表对应,如果胜率默认表明就是user
public class User {
@Id //这是一个主键
@GeneratedValue(strategy = GenerationType.IDENTITY) //自增主键
private Integer id;
@Column(name = "name",length = 50) //@Column指定和数据表对应的列明和长度
private String name;
@Column //省略默认列名就是属性名
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", email='" + email + '\'' +
'}';
}
}
3、在repository文件夹下创建UserRepository接口,如下代码:
package com.rf.springboot.repository;
import com.rf.springboot.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* 继承JpaRepository完成数据库映射
* */
public interface UserRepository extends JpaRepository {
}
4、在controller文件夹下创建UserController类,如下代码:
package com.rf.springboot.controller;
import com.rf.springboot.entity.User;
import com.rf.springboot.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.Optional;
@RestController
public class UserController {
@Autowired
UserRepository userRepository;
@GetMapping("/user/{id}")
public Optional getUserById(@PathVariable("id") Integer id){
Optional byId = userRepository.findById(id);
return byId;
}
@GetMapping("/user")
public User insertUser(User user){
User user1 = userRepository.save(user);
return user1;
}
}
四、修改application.yml配置文件
1、在application.yml文件中新增如下代码:
spring:
jpa:
hibernate:
#更新或者创建数据表结构
ddl-auto: update
#控制台显示sql
show-sql: true
五、启动spirngboot项目,浏览器访问
1、启动spirngboot项目,控制台会打印建表语句,查看jpa数据库中会创建一个空数据的sys_user表,如下图: 2、浏览器中访问新增方法,sys_user表中会新增一条数据,如下图:
3、浏览器中访问查询方法,会显示会该信息,如下图:
4、查看控制台会打印出新增和查询的sql语句,如下图: