ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringBoot整合springDataJPA

2021-04-19 18:53:21  阅读:179  来源: 互联网

标签:springDataJPA SpringBoot JPA public String user 整合 id User



SpringBoot整合springDataJPA


一.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

注意:

  1. 这里使用的是Druid数据源,使用时需要在pom.xml中导入相关依赖
<!-- 引入druid数据源--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.18</version></dependency>

  1. 这里由于版本问题,在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;}}

标签:springDataJPA,SpringBoot,JPA,public,String,user,整合,id,User
来源: https://blog.51cto.com/u_15166109/2718209

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有