springboot + jpa + oracle demo

一、引入jpa

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>2.6.1</version>
</dependency>

 二、配置文件配置数据库信息

spring:
  datasource:
    url: jdbc:oracle:thin:@localhost:1521:orcl
    username: xxxx
    password: xxxx
    driver-class-name: oracle.jdbc.driver.OracleDriver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        dialect: org.hibernate.dialect.Oracle10gDialect

备注:ddl-auto: update (update 如果启动时表格式不一致则更新表,原有数据保留,本地demo,生产不建议)

三、引入oracle驱动

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.1.0.0</version>
</dependency>

 四、创建AppUser domain

import lombok.Data;
import javax.persistence.*;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Entity
@Data
public class AppUser {
    @Id
    private Integer id;

    private String name;
}

 五、创建repository

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<AppUser,Integer> {
}

六、创建测试接口

@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @PostMapping
    public String add(@RequestBody AppUser user) {
        user.setId(1);
        userRepository.saveAndFlush(user);
        return "success";
    }
}

七、可能出现问题1,版本号不一致可能报错如下

has been compiled by a more recent version of the Java Runtime 
(class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0

J2SE 10 

54
J2SE 953
J2SE 852
J2SE 7

51

J2SE 650
J2SE 549

根据自己jdk版本自行查询选择驱动 https://mvnrepository.com/

八、可能出现问题2 表明使用了关键字,创建表失败,根据报错可明显看出

九、oracle 实现主键自增 需配合序列使用,使用@SequenceGenerator和@GeneratedValue实现

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值