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

SpringBoot集成JPA的示例代码

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

SpringBoot集成JPA的示例代码

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

1.创建新的maven项目

2. 添加必须的依赖

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

  
    
    
      org.springframework.boot
      spring-boot-starter-web
    
    
    
      org.springframework.boot
      spring-boot-starter-data-jpa
    
    
    
      mysql
      mysql-connector-java
    
  

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;

//表明这是个需要生成数据表的类
@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 extends Repository {
   S save(S var1);
   Iterable save(Iterable var1);
  T findOne(ID var1);
  boolean exists(ID var1);
  Iterable findAll();
  Iterable findAll(Iterable var1);
  long count();
  void delete(ID var1);
  void delete(T var1);
  void delete(Iterable var1);
  void deleteAll();
}

新建UserRepository.java

public interface UserRepository extends CrudRepository {

}

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 list(){
    Iterable all = userRepository.findAll();
    return all;
  }
}

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

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

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

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