Springboot项目搭建(四)整合MySQL数据库(JPA)

springboot整合MySQL数据库(JPA)

一、POM文件添加依赖

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

<!--jdbc-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

二、yml配置文件

主参数
spring.datasource.url             指定JDBC URL.
spring.datasource.username        指定数据源用户名    
spring.datasource.password        指定数据源密码

spring.jpa.hibernate.ddl-auto     指定DDL mode (none, validate, update, create, create-drop). 当使用内嵌数据库时,默认是create-drop,否则为none.
spring.jpa.show-sql               是否开启sql的log,默认为: false

参考建议: xixicat SpringBoot配置属性之DataSource

三、配置实体类

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class User {
    @Id                    //主键
    @GeneratedValue        //主键自增
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

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

四、JPA实现单表操作

import cn.roylion.myspringboot.entity.User;
import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends JpaRepository<User,Integer> {//此处泛型为映射类型与主键id类型
    
}

五、JPA实现分页

在UserRepository对象中添加新方法
Page<User> findAll(Pageable pageable);

在service方法中实现分页
int page = 0;
int size = 5;
Pageable pageable = new PageRequest(page,size);    //页码从0开始
Page<User> users = userRepository.findAll(pageable);

六、JPA实现排序

在UserRepository对象中添加新方法
Iterable<User> findAll(Sort sort);

在service方法中实现排序
Sort sort = new Sort(Sort.Direction.DESC,"id");    //依据id降序排列
Iterable<User> users = userRepository.findAll(sort);

七、JPA实现事务处理

在方法的上面添加@Transaction注解即可

参考建议: 纯洁的微笑 spring boot(五):spring data jpa的使用
参考建议: wolzq Spring Boot中的事务管理
参考建议: 如莲家园 Spring Data JPA 实例查询

    原文作者:roylion
    原文地址: https://segmentfault.com/a/1190000011910166
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞