SpringBoot整合springDataJPA
2021/4/19 18:55:55
本文主要是介绍SpringBoot整合springDataJPA,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
SpringBoot整合springDataJPA
- 一.SpringBootData JPA介绍
- 二.基本配置
- 1.引入依赖
- 2.配置文件
- 三.JPA使用
- 1.创建Entity实体类
- 2.编写一个Dao接口来操作实体类对应的数据表(Repository)
- 3.创建controller测试
一.SpringBootData JPA介绍
SpringData:其实SpringData就是Spring提供了一个操作数据的框架。而SpringData JPA只是SpringData框架下的一个基于JPA标准操作数据的模块。
SpringData JPA:基于JPA的标准数据进行操作。简化操作持久层的代码。只需要编写接口就可以
二.基本配置
1.引入依赖
我们可以直接在创建项目时,勾选上spring初始化向导
然后选中需要的模块
2.配置文件
在application.properties
或者application.yml
中配置进行配置
spring: datasource: username: root password: root driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/db3?serverTimezone=UTC type: com.alibaba.druid.pool.DruidDataSource # 数据源其他配置 initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true jpa:hibernate: ddl-auto: updateshow-sql: true
注意:
- 这里使用的是Druid数据源,使用时需要在pom.xml中导入相关依赖
<!-- 引入druid数据源--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.18</version></dependency>
- 这里由于版本问题,在url地址地方需要加上serverTimezone属性
url: jdbc:mysql://localhost:3306/db3?serverTimezone=UTC
jpa:hibernate: ddl-auto: update//表示自动为我们在数据库中创建表(并更改)show-sql: true(在控制台打印sql语句)
三.JPA使用
1.创建Entity实体类
@Entity@Tablepublic class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;@Column(length = 50)private String lastName;@Columnprivate String email;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}
注意
1.这里所有的注解都是javax.persistence下的,不要导错包了
注解的解释
- @Entity注解:告诉JPA这是一个实体类(和数据表映射的类)也就是一一对应
- @Table:来指定和哪个数据表对应;如果省略默认表名就是user;
- @Id:指明该属性为主键
- @GeneratedValue(strategy = GenerationType.IDENTITY:表名自动增长
- @colume:这是和数据表对应的一个列,省略默认列名就是属性名
2.编写一个Dao接口来操作实体类对应的数据表(Repository)
public interface UserRepository extends JpaRepository<User,Integer> {}
这里只需要实现JpaRepository接口即可,不需要添加注解
3.创建controller测试
@RestControllerpublic class UserController {@AutowiredUserRepository userRepository;@GetMapping("/user/{id}")public User getUser(@PathVariable("id") Integer id){User user = userRepository.getOne(id);return user;}@GetMapping("/user")public User insertUser(User user){User user1 = userRepository.save(user);return user1;}}
这篇关于SpringBoot整合springDataJPA的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南