Spring Boot集成Jpa
- (1)添加Spring Data JPA的起步依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
- (2)添加数据库驱动依赖
- (3) 在application.properties中配置数据库和jpa的相关属性
空格不能随便删除
server:
servlet:
context-path: "/day01"
port: 8002
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot_db
username: root
password: root
jpa:
show-sql: true
hibernate:
ddl-auto: update
naming:
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
database: mysql
定义实体类
package com.dev1.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Data
@Entity
@Table(name="account")
public class Account {
@Id
private String id;
private String name;
private Double value;
}
定义接口
package com.dev1.dao;
import com.dev1.entity.Account;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface IAccountDao extends JpaRepository<Account,String> {
}
测试
package com.dev1.mapper;
import com.dev1.dao.IAccountDao;
import com.dev1.entity.Account;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class AccountJPATest {
@Autowired
IAccountDao dao;
@Test
void add() {
for (int i = 0; i < 5; i++) {
Account account = new Account("300"+i,"name"+i,100D);
dao.save(account);
}
}
@Test
void update() {
Account account = new Account("3001","jack3",10000D);
dao.save(account);
}
@Test
void delete() {
dao.deleteById("3001");
}
@Test
void findById() {
System.out.println(dao.findById("3000"));
}
@Test
void findAll() {
System.out.println(dao.findAll());
}
}