Spring Boot集成Spring Data Jpa

简介

Spring Data Jpa是属于Spring Data的一个子项目。Spring Data下有很多子项目,如下图:
在这里插入图片描述

JPA是一个规范,并非具体的实现框架,而Spring Data JPA就是依赖于Hibernate JPA的实现。详细请参考官方文档https://spring.io/projects/spring-data-jpa

Spring Boot集成Spring Data Jpa

创建项目添加依赖

首先创建springboot项目,选择web和sql相关即可。
在这里插入图片描述
完善pom.xml

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

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.15</version>
        </dependency>

数据库准备

创建jpatest数据库,并创建数据库表jpa_user;

    CREATE DATABASE /*!32312 IF NOT EXISTS*/`jpatest` /*!40100 DEFAULT CHARACTER SET utf8 */;

    USE `jpatest`;

    /*Table structure for table `sys_user` */

    DROP TABLE IF EXISTS `jpa_user`;

    CREATE TABLE `jpa_user` (
      `userId` int(10) NOT NULL,
      `username` varchar(20) NOT NULL,
      `sex` char(10) DEFAULT NULL,
      `password` varchar(10) DEFAULT NULL,
      PRIMARY KEY (`userId`),
      UNIQUE KEY `idx_username` (`username`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    /*Data for the table `sys_user` */

    insert  into `jpa_user`(`userId`,`username`,`sex`,`password`) values (1,'testuser','man','21');

修改配置

修改application.yml,添加jpa和连接池相关配置

spring:
  datasource:
    url: jdbc:mysql://192.168.1.105:3306/jpatest?characterEncoding=utf8&useSSL=true
    username: root
    password: Root1234
    driver-class-name: com.mysql.jdbc.Driver
    initialization-mode: always
    type: com.alibaba.druid.pool.DruidDataSource
  jpa:
    hibernate:
      #     更新或者创建数据表结构
      ddl-auto: update
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    #    控制台显示SQL
    show-sql: true

简单实现

1.创建实体类,和数据库表对应

@Entity
@Table(name = "jpa_user")
//Springboot2.2.1集成的Spring data jpa比较新,需要加上如下配置
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})
public class User {
    @Id //主键
    @GeneratedValue(strategy = GenerationType.IDENTITY)//自增主键
    private Integer userId;

    @Column(name = "username",length = 20) //这是和数据表对应的一个列
    private String username;

    @Column
    private String sex;

    @Column
    private String password;

    public Integer getUserId() {
        return userId;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

2.实现JpaRepository接口(简单实现)

public interface UserJpaRepository extends JpaRepository<User,Integer> {
}

3.直接用controller用做测试验证

@RestController
public class UserController {

    @Autowired
    UserJpaRepository userRepository;

    @GetMapping("/user/{userId}")
    public User getUser(@PathVariable("userId") Integer userId){
        User user = userRepository.getOne(userId);
        return user;
    }

    @GetMapping("/user")
    public User insertUser(User user){
        User save = userRepository.save(user);
        return save;
    }
}

4.启动项目,使用postman进行测试验证
(1)验证getUser
在这里插入图片描述
(2)验证insertUser
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot Data JPASpring Boot框架中的一个模块,它提供了一种简单的方式来使用Java Persistence API(JPA)来访问数据库。使用Spring Boot Data JPA,开发人员可以轻松地创建和管理实体类、数据访问对象(DAO)和数据库表之间的映射关系。此外,Spring Boot Data JPA还提供了一些方便的功能,如自动配置、事务管理和查询DSL等,使得开发人员可以更加高效地开发和维护应用程序。 ### 回答2: Spring Boot Data JPASpring Boot 框架的一部分,它在关系型数据库中使用 JPAJava Persistence API)技术,允许我们轻松地管理和控制应用程序的数据访问层。 Spring Boot Data JPA 的主要优势是其极简化的配置和使用,大大降低了使用 JPA 的门槛。它提供了自动化配置,使开发人员可以轻松地集成和配置 Spring Data JPA,从而快速构建可靠和高效的数据访问层。 Spring Boot Data JPA 还提供了一些非常重要的特性,如自定义查询方法、分页查询、缓存支持和事务管理。自定义查询方法可以让我们以面向对象的形式,使用简单的方法签名来定义各种查询,无须编写 SQL 语句。分页查询支持可以在处理大量数据时提高系统性能。缓存支持可以减小数据库压力,提高应用程序的响应速度。事务管理可以保证数据层的一致性和可靠性。 在开发过程中,Spring Boot Data JPA 在访问关系型数据库时封装了一些常见操作,如增、删、改、查等,使操作变得更加简单和方便。此外,它还提供了 Hibernate 作为默认的 JPA 实现,它是一款高性能、稳定、可靠的 ORM(对象关系映射)框架,在 Java 领域中有着广泛的应用。 总之,Spring Boot Data JPA 是一个非常实用、高效的数据访问层框架,它能够大大加快应用程序的开发速度、提高开发效率和开发质量。它适用于各种类型的应用程序开发,如 Web 应用程序、微服务、移动应用程序等。在大量的 Java 应用程序中,它已经被广泛采用,并成为了 Java 世界中不可或缺的一部分。 ### 回答3: Spring Boot Data JPA是一种简化了数据访问层开发的框架,它整合了Spring BootSpring Data JPA两个框架,使得我们可以快速、方便地进行ORM(对象关系映射)的开发。 Spring Boot Data JPA适用于Java开发者,它提供了快速、便捷、强大的数据持久化和查询能力,可以帮助我们高效地开发和维护企业级应用。 Spring Boot Data JPA通过自动化配置和约定大于配置的方式大大简化了开发流程,减少了一些繁琐的配置,提高了开发效率。 在使用Spring Boot Data JPA时,我们只需要定义实体类和接口,然后按照约定的方式定义查询方法即可。Spring Data JPA会根据方法名自动生成对应的SQL语句,并且提供了一些标准的查询方法,如findByXXX、findAllByXXX等,方便我们根据条件查询数据。 此外,Spring Boot Data JPA还提供了支持事务、缓存、分页、排序等功能,方便我们进行数据操作和优化。 总的来说,Spring Boot Data JPA是一种非常方便、高效、易用的框架,适合需要快速开发和维护数据访问层的企业级应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值