springboot 集成jpa

15 篇文章 0 订阅
3 篇文章 0 订阅

一、springboot 集成 jpa

1、创建项目

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、再引入依赖项

这里用druid的连接池,所以需要加入

 <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
3、编写 配置文件

配置文件分成两大部分,一部分是jpa的设置,一部分是spring.datasource的设置

server.port=8071
spring.application.name=jpademo
spring.main.allow-bean-definition-overriding=true
spring.jpa.database=mysql
#spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.platform=mysql
spring.datasource.url=jdbc:mysql://172.30.100.194:3306/ds0?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=Root,123
4、利用idea自动生成实体类

打开 database对话框添加 数据库连接
在这里插入图片描述
填写正确的信息

在这里插入图片描述
确定后,界面如下:
在这里插入图片描述
然后,在这个表上面点击右键,选择如下位置 点击
在这里插入图片描述
这时,会根据表结构生成辅助类辅助类在 如下图位置:在这里插入图片描述
打开他,然后在 项目中新建包,用于存放实体类,然后,在database视图上,用ctrl+Shift 可以多选表,然后,点击右键,选择如下位置:
在这里插入图片描述
这样,就会生成 对应的实体类,可以稍微修饰下,最终结果如下:

package com.xyzh.jpademo.entity;

import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Data
@Entity
@Table(name="t_order_0")
public class TOrder0 {

  @Id
  private long orderId;
  private long userId;
  private String status;


  public long getOrderId() {
    return orderId;
  }

  public void setOrderId(long orderId) {
    this.orderId = orderId;
  }


  public long getUserId() {
    return userId;
  }

  public void setUserId(long userId) {
    this.userId = userId;
  }


  public String getStatus() {
    return status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

}
5、写repository类

既然用到了jpa,那么就遵循 jpa的方式:

import com.xyzh.jpademo.entity.TOrder0;
import org.springframework.data.jpa.repository.JpaRepository;

public interface OrderRepository extends JpaRepository<TOrder0,Long> {
}
6、依次写service、controller

IOrderService:

import com.xyzh.jpademo.entity.TOrder0;

public interface IOrderService {
     
        TOrder0 insert(TOrder0 record);

        TOrder0 selectByPrimaryKey(Long orderId);

        void deleteByPrimaryKey(Long orderId);
}

OrderServiceImpl

import com.xyzh.jpademo.entity.TOrder0;
import com.xyzh.jpademo.repository.OrderRepository;
import com.xyzh.jpademo.service.IOrderService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.Optional;
@Service
public class OrderServiceImpl implements IOrderService {
    @Autowired
    OrderRepository repository;

    @Override
    public TOrder0 insert(TOrder0 record) {
        return repository.save(record);
    }

    @Override
    public TOrder0 selectByPrimaryKey(Long orderId) {
        Optional<TOrder0> array= repository.findById(orderId);
        if(array!=null)
            return array.get();
        return null;
    }

    @Override
    public void deleteByPrimaryKey(Long orderId) {
        repository.deleteById(orderId);
    }
}

controller:HelloController

import com.xyzh.jpademo.entity.TOrder0;
import com.xyzh.jpademo.service.IOrderService;
import net.bytebuddy.asm.Advice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @Autowired
    IOrderService orderService;

    @RequestMapping(value = "/hello/{id}",method = RequestMethod.GET)
    public String hello(@PathVariable("id") Long id){
        TOrder0 order0=new TOrder0();
        order0.setOrderId(id);
        order0.setStatus("test");
        order0.setUserId(1L);
        orderService.insert(order0);

        return id+"";
    }
}
7、访问看结果

在这里插入图片描述

数据库也插入值了:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值