spring boot和jpa整合

1.pom.xml配置

1)添加mysql数据库依赖

       
            mysql
            mysql-connector-java
        

2)添加jpa依赖

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

3)pom.xml > maven > reimport

2.yml配置

mysql和jpa配置

spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/luckymoney?serverTimezone=UTC&characterEncoding=utf8
        username: root
        password: 88888888
    jpa:
        hibernate:
            ddl-auto: update
        show-sql: true

3.整合用法

1.在Entity包下创建一个class来承载某个类型的对象,给Entity类@Entity注释
2.给对象添加属性,并给get set方法和一个无参构造函数
3.给这个对象要在数据表中作为主键的属性添加 @Id注解和
@GeneratedValue注解(id自增)
4.新建数据库(和yml文件对应 应该先建好数据库 yml和数据库对应),运行程序,Entity下的类将自动被创建成数据表放在数据库中。表创建完成
5.写好控制层,服务层的方法和接口,新建一个A数据接口extends(继承)JpaRepository,在服务实现层方法调用A a中的方法。

package com.imooc.luckymoney.service.impl;
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Luckymoney {

    /**
     *  主键ID - id
     */
    @Id
    @GeneratedValue
    private Integer id;

    /**
     * 金额 - money
     */
    private BigDecimal money;

    /**
     * 发红包的人
     */
    private String producer;

    /**
     * 收红包的人
     */
    private String consumer;

}
package com.imooc.luckymoney.dao;
/**
 * 继承jpa接口
 */
public interface LuckmoneyDao extends JpaRepository {
}
package com.imooc.luckymoney.service.impl;


import com.imooc.luckymoney.dao.LuckmoneyDao;
import com.imooc.luckymoney.entity.Luckymoney;
import com.imooc.luckymoney.service.LuckyMoneyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.math.BigDecimal;
import java.util.List;

@Service
public class LuckyMoneyServiceImpl implements LuckyMoneyService {
    @Autowired
    private LuckmoneyDao repository;


    @Transactional


    @Override
    public int plus(int k, int m) {
        return k + m;
    }

    @Override
    public List findAll() {
        return repository.findAll();
    }

    @Override
    public Luckymoney create(String producer, BigDecimal money) {
//        Luckymoney luckymoney = new Luckymoney();
//        luckymoney.setProducer(producer);
//        luckymoney.setMoney(money);
        Luckymoney luckymoney = Luckymoney.builder().producer(producer).money(money).build();
        return repository.save(luckymoney);
    }


    @Override
    public Luckymoney findById(Integer id) {
        return repository.findById(id).orElse(null);
    }

    @Override
    public Luckymoney update(Integer id, String comsumer) {
        Luckymoney luckymoney = this.findById(id);

        if (luckymoney == null) {
            return null;
        } else {
            luckymoney.setConsumer(comsumer);
            return repository.save(luckymoney);
        }
    }


    }

以上就是spring boot和jpa简单的整合

你可能感兴趣的:(spring boot和jpa整合)