Spring Data JPA 入门

2022-11-25  本文已影响0人  Tinyspot

1. 基础

JAP 全称 Java Persistence API

1.1 引入依赖和配置

导入依赖

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>

application.yml 配置

spring:
  application:
    name: concrete-jpa
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://mysql.sqlpub.com:3306/spotlive
    username: xxx
    password: xxxxxx
  jpa:
    database: mysql
    show-sql: true
    open-in-view: true

2. 实战

2.1 实体类

@Data
@Entity
@Table(name = "boot_order")
public class Order {
    @Id
    private Integer id;
    private String code;
    private String userName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date gmtCreate;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date gmtModify;
}

2.2 启动类

@SpringBootApplication
@EntityScan("com.example.concrete.jpa.entity")
public class JpaApplication {
    public static void main(String[] args) {
        SpringApplication.run(JpaApplication.class, args);
    }
}

2.3 接口

public interface OrderDao extends JpaRepository<Order, Integer>, JpaSpecificationExecutor<Order> {
    
}

使用

@Service
public class OrderServiceImpl implements OrderService {

    @Resource
    private OrderDao orderDao;

    @Override
    public Order findOrderById(Integer id) {
        return orderDao.findById(id).get();
    }

    @Override
    public void save(Order order) {
        orderDao.save(order);
    }

    @Override
    public void update(Order order) {
        orderDao.save(order);
    }

    @Override
    public void delete(Integer id) {
        orderDao.deleteById(id);
    }
}

2.4 调用测试

@RestController
@RequestMapping("/order")
public class OrderController {
    @Resource
    private OrderService orderService;

    @GetMapping("/query/{id}")
    public Order findOrderById(@PathVariable Integer id) {
        return orderService.findOrderById(id);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读