一、引入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 9 | 53 |
J2SE 8 | 52 |
J2SE 7 | 51 |
J2SE 6 | 50 |
J2SE 5 | 49 |
根据自己jdk版本自行查询选择驱动 https://mvnrepository.com/
八、可能出现问题2 表明使用了关键字,创建表失败,根据报错可明显看出
九、oracle 实现主键自增 需配合序列使用,使用@SequenceGenerator和@GeneratedValue实现