栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot整合jpa

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot整合jpa

一、Spring boot jpa 简介

Jpa(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射(ORM)工具来管理Java应用中的关系数据。它的出现是为了简化现有的持久化开发工作和整合ORM技术。Spring Boot Jpa 是 Spring 基于 ORM 框架、Jpa 规范的基础上封装的一套 Jpa 应用框架,提供了包括增删改查等在内的常用功能。(封装好了,可以直接调用)

二、Springboot中 Jpa的基本使用

1.创建Springboot项目,导入依赖



    4.0.0
    com.zcc
    jpatest
    0.0.1-SNAPSHOT
    jpatest
    Demo project for Spring Boot


    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.7.RELEASE
         
    

    
        1.8
        UTF-8
        UTF-8
        2.3.7.RELEASE
        8.0.23
    

    
    
        
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        


        
            mysql
            mysql-connector-java
            ${mysql-connector-java.version}
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        
        
            org.springframework.boot
            spring-boot-configuration-processor
            true
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test

        


    

    
        
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            
        
    

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    1.8
                    1.8
                    UTF-8
                
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.7.RELEASE
            
        
    


2.配置数据源和jpa

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/args_db?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: 111111
  jpa:
    hibernate:          
      ddl-auto: update  # 更新或者创建数据表结构 之前提到过,如果数据库中没做表,
                          Jpa会我们创建 这个配置就是在没有表的时候创建,
                          实体类发生改变的话 会更新表结构          
    show-sql: true    # 配置在日志中打印出执行的 SQL 语句信息

3.编写实体类添加Jpa注解配置映射关系

通过jpa操作数据就需要将实体类和数据库建立联系

package com.zcc.jpatest.domain;

import lombok.Data;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;



@Data
@Entity
@Table(name ="admin") //与哪张表映射
//使用jpa的uuid自动生成主键id策略,此外还可使用底层数据库的主键自增策略
@GenericGenerator(name = "jpa-uuid", strategy = "uuid")
public class Admin implements Serializable {
    @Column(length = 32)
    private static final long serialVersionUID = -805053659777047779L;
    @Id
    @GeneratedValue(generator = "jpa-uuid")
    @Column(name = "id",length = 32)
    private String adminId;
    private String username;
    private String password;

}
``

4.编写一个接口来操作实体类对应的数据表

```java

public interface AdminRepository extends JpaRepository {
}

5.编写测试类测试

@SpringBootTest(classes = JpatestApplication.class)
@RunWith(SpringRunner.class)
public class Jpatest {

    @Autowired
    private AdminRepository adminRepository;

    @Test
    public void testAdd(){
        System.out.println("添加操作:");
        Admin admin = new Admin();

        admin.setUsername("1991hhh9");
        admin.setPassword("993336");
        adminRepository.save(admin);
        System.out.println(admin);
        System.out.println("添加成功");
    }

    @Test
    public void testFind(){
        Optional optional = adminRepository.findById("2c96ba4b7be25e2c017be25e2f660000");
        if(optional.isPresent()){
            Admin aa = optional.get();
            System.out.println(aa);
        }

    }
}

参考链接:

https://www.cnblogs.com/ityouknow/p/5891443.html

https://juejin.cn/post/6844904084282015757

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987573.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号