SpringBoot集成JPA的示例代码

本文介绍了SpringBoot集成JPA的示例代码,分享给大家,具体如下:

1.创建新的maven项目

2. 添加必须的依赖

  <!--springboot的必须依赖-->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
  </parent>

  <dependencies>
    <!--启动springmvc的相关配置,springboot的自动配置-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--jpa-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!--mysql驱动-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
  </dependencies>

3. 新建springboot启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class,args);
  }
}

4. 在resources跟目录下新建application.properties

#建立/更新数据表的配置
spring.jpa.hibernate.ddl-auto=update
#数据库地址
spring.datasource.url=jdbc:mysql://localhost:3306/qian?useUnicode=true&characterEncoding=utf-8
#数据库用户名
spring.datasource.username=root
#数据库密码
spring.datasource.password=123
  1. update:Hibernate根据给定的Entity结构改变数据库。
  2. create: 每次都会创建数据库,关闭时不会删除
  3. none: mysql的默认设置 , 不改变数据结构
  4. create-drop: 创建数据库,但是每次sessionFactory关闭后都会删除

5. 新建实体类User

这个时候其实已经可以启动springboot, 但是不会生成数据表,因为还没有配置实体类的jpa

先新建user.java

import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
 * Created by Andy on 2018/1/20.
 */
//表明这是个需要生成数据表的类
@Entity
public class User {
//  定义主键id
  @Id
//  声明一个策略通用生成器,name为”system-uuid”,策略strategy为”uuid”。
  @GenericGenerator(name = "system-uuid", strategy ="uuid")
//  用generator属性指定要使用的策略生成器。
  @GeneratedValue(generator = "system-uuid")
  private String id;
  private String name;
  private Integer age;
  private Boolean sex;

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Integer getAge() {
    return age;
  }

  public void setAge(Integer age) {
    this.age = age;
  }

  public Boolean getSex() {
    return sex;
  }

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

这时候启动项目,就会在指定位置下生成一个user数据表

6. 实现CRUD

CrudRepository是一个提供了普通增删改查方法的接口,由spring内部提供,我们只需调用即可

@NoRepositoryBean
public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> {
  <S extends T> S save(S var1);
  <S extends T> Iterable<S> save(Iterable<S> var1);
  T findOne(ID var1);
  boolean exists(ID var1);
  Iterable<T> findAll();
  Iterable<T> findAll(Iterable<ID> var1);
  long count();
  void delete(ID var1);
  void delete(T var1);
  void delete(Iterable<? extends T> var1);
  void deleteAll();
}

新建UserRepository.java

public interface UserRepository extends CrudRepository<User, String> {

}

7. 实现controller控制

新建UserController.java

@RestController
public class UserController {
  @Autowired
  private UserRepository userRepository;

  @RequestMapping("/add")
  public User add(String name){
    User user = new User();
    user.setName(name);
    return userRepository.save(user);
  }

  @RequestMapping("/list")
  public Iterable<User> list(){
    Iterable<User> all = userRepository.findAll();
    return all;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Spring Boot中使用Spring-data-jpa实现数据库增删查改
  • SpringBoot JPA实现增删改查、分页、排序、事务操作等功能示例
  • Spring Boot 添加MySQL数据库及JPA实例
  • SpringBoot JPA 表关联查询实例
  • SpringBoot集成Spring Data JPA及读写分离
  • 详解在Spring Boot中使用JPA
  • Spring Boot + Jpa(Hibernate) 架构基本配置详解
  • 详解基于Spring Boot与Spring Data JPA的多数据源配置
  • 基于spring boot 1.5.4 集成 jpa+hibernate+jdbcTemplate(详解)
  • 在Spring Boot中使用Spring-data-jpa实现分页查询
(0)

相关推荐

  • 基于spring boot 1.5.4 集成 jpa+hibernate+jdbcTemplate(详解)

    1.pom添加依赖 <!-- spring data jpa,会注入tomcat jdbc pool/hibernate等 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <

  • 在Spring Boot中使用Spring-data-jpa实现分页查询

    在我们平时的工作中,查询列表在我们的系统中基本随处可见,那么我们如何使用jpa进行多条件查询以及查询列表分页呢?下面我将介绍两种多条件查询方式. 1.引入起步依赖   <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency&

  • SpringBoot JPA 表关联查询实例

    今天给大家介绍一下如何利用JPA实现表关联查询. 今天给大家举一个一对多的关联查询,并且是使用JPA原生的findBy语句实现的. 例子中总共有两个实体类,一个是Floor(商品楼层类),另一个是FloorContent(商品楼层内容表).下面看两张表的源代码: Floor类: package cms.model; import cms.model.base.BaseDomain; import org.hibernate.annotations.GenericGenerator; import

  • SpringBoot集成Spring Data JPA及读写分离

    相关代码: github OSCchina JPA是什么 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具 来管理Java应用中的关系数据.它包括以下几方面的内容: 1.ORM映射 支持xml和注解方式建立实体与表之间的映射. 2.Java持久化API 定义了一些常用的CRUD接口,我们只需直接调用,而不需要考虑底层JDBC和SQL的细节. 3.JPQL查询语言 这是持久化操作中很重要的一个方面,通过面向对象

  • Spring Boot中使用Spring-data-jpa实现数据库增删查改

    在实际开发过程中,对数据库的操作无非就"增删改查".就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑. 为了解决这些大量枯燥的数据操作语句,我们第一个想到的是使用ORM框架,比如:Hibernate.通过整合Hibernate之后,我们以操作Java实体的方式最终将数据改变映射到数据库表中. 为了解决抽象各个Java实体基本的"增删改查"操作,我们通常会以泛型的方式封装一个模板Dao来进行抽象简化,但是这

  • Spring Boot 添加MySQL数据库及JPA实例

    最近在学习Spring Boot,继续前面的学习,这一次我们加入MySQL数据库和JPA. 配置: pom.xml文件 <!-- 添加Mysql和JPA--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dep

  • 详解在Spring Boot中使用JPA

    前面关于spring Boot的文章已经介绍了很多了,但是一直都没有涉及到数据库的操作问题,数据库操作当然也是我们在开发中无法回避的问题,那么今天我们就来看看Spring Boot给我们提供了哪些疯狂的方式来解决数据库的操作问题. OK,废话不多说,让我们愉快的开启今天的数据库操作之旅吧! 什么是JPA 一说JavaWeb,很多小伙伴都知道SSH,这个H代表的就是hibernate框架,这个小伙伴们都知道,可是什么又是JPA呢?相信许多刚入门的小伙伴听说过但不是特别清楚,首先JPA的全称叫做Ja

  • 详解基于Spring Boot与Spring Data JPA的多数据源配置

    由于项目需要,最近研究了一下基于spring Boot与Spring Data JPA的多数据源配置问题.以下是传统的单数据源配置代码.这里使用的是Spring的Annotation在代码内部直接配置的方式,没有使用任何XML文件. @Configuration @EnableJpaRepositories(basePackages = "org.lyndon.repository") @EnableTransactionManagement @PropertySource("

  • Spring Boot + Jpa(Hibernate) 架构基本配置详解

    1.基于springboot-1.4.0.RELEASE版本测试 2.springBoot + hibernate + Druid + MySQL + servlet(jsp) 不废话,直接上代码 一.maven的pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu

  • SpringBoot JPA实现增删改查、分页、排序、事务操作等功能示例

    今天给大家介绍一下SpringBoot中JPA的一些常用操作,例如:增删改查.分页.排序.事务操作等功能. 下面先来介绍一下JPA中一些常用的查询操作: //And --- 等价于 SQL 中的 and 关键字,比如 findByHeightAndSex(int height,char sex): public List<User> findByHeightAndSex(int height,char sex); // Or --- 等价于 SQL 中的 or 关键字,比如 findByHei

随机推荐