1安装好idea
2安装maven 并配置环境
Springboot搭建零基础教程:https://blog.csdn.net/baidu_39298625/article/details/98102453
这里创建springboot项目时候勾选相关的功能即可
<!--java web 服务依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--springboot data 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>
application.ymal 的配置 如下图:
spring:
datasource:
url: jdbc:mysql://106.15.11.20:3306/union_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: root1234
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: true
我们看到项目正常的启动了我们打开postman工具访问一下 测试类
package com.imooc.luckymoney;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
/**
* Created by xuqing
* 2020年7月12日10:40:43
* @Controller + @ResponseBody = @RestController
*
*
*/
@RestController
@RequestMapping("/hello")
public class HelloController {
@Autowired
private LimitConfig limitConfig;
@PostMapping("/say")
public String say(@RequestParam(value = "id", required = false, defaultValue = "0") Integer myId) {
// return "说明:" + limitConfig.getDescription();
return "id:" + myId;
}
@GetMapping("/index")
public Object index(){
Map<String,Object> map=new HashMap<>();
map.put("msg","部署成功");
return map;
}
@GetMapping("/getsay")
public String say(){
return "说明:" + limitConfig.getDescription();
}
}
我们访问 index 这个方法 请求的接口地址就是 :http://localhost:8081/luckymoney/hello/index
我们看到有json数据返回,项目整个算是正常启动成功我们需要加入一些业务逻辑代码来配合SpringDataJPA框架 来实现我们的业务需求
package com.imooc.luckymoney;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.math.BigDecimal;
/**
* Created by xuqing
* 2020年7月12日10:40:18
*/
@Entity
public class Luckymoney {
@Id
@GeneratedValue
private Integer id;
private BigDecimal money;
/**
* 发送方
*/
private String producer;
/**
* 接收方
*/
private String consumer;
public Luckymoney() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public BigDecimal getMoney() {
return money;
}
public void setMoney(BigDecimal money) {
this.money = money;
}
public String getProducer() {
return producer;
}
public void setProducer(String producer) {
this.producer = producer;
}
public String getConsumer() {
return consumer;
}
public void setConsumer(String consumer) {
this.consumer = consumer;
}
}
类名上面我们要加上 @Entity 注解这样一来代码会自动帮我在MySQL里面创建 Luckymoney
然后我们要在表的头ID上面加上
@Id
@GeneratedValue
这个两行注解这样在MySQL创建的表里面就会是头ID是主键非空并且自增的
package com.imooc.luckymoney;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* Created by xuqing
* 2020年7月12日10:40:31
*/
public interface LuckmoneyRepository extends JpaRepository<Luckymoney, Integer> {
}
我们只需要写一个类继承JpaRepository 然后在<>中传入我们数据模型bean类(对应是数据库的表)就可以对数据库进行增删改查的操作,不用在写sql语句了 是不是很方便很爽 哈哈哈
首先我们需要用@Autowired注解将我们集成JpaRepository 的LuckmoneyRepository 类 注入进来
@Autowired
private LuckmoneyRepository repository;
然后我们就可以调用里面LuckmoneyRepository 父类里面的一些方法对数据库进行操作了 。
1查询数据库调用 finaAll();方法查询整张表的数据
/**
* 获取红包列表
*/
@GetMapping("/luckymoneys")
public List<Luckymoney> list() {
return repository.findAll();
}
请求效果:
2 增加数据 调用save方法传入对象即可
/**
* 创建红包(发红包)
*/
@PostMapping("/luckymoneys")
public Luckymoney create(@RequestParam("producer") String producer,
@RequestParam("money") BigDecimal money) {
Luckymoney luckymoney = new Luckymoney();
luckymoney.setProducer(producer);
luckymoney.setMoney(money);
return repository.save(luckymoney);
}
请求效果:
数据库查看
我们看到数据库有
3 更新数据 先通过查询方法查询然后 bean类中的set方法然后 再调用save方法即可完成数据更新操作
/**
* 更新红包(领红包)
*/
@PutMapping("/luckymoneys/{id}")
public Luckymoney update(@PathVariable("id") Integer id,
@RequestParam("consumer") String consumer) {
Optional<Luckymoney> optional = repository.findById(id);
if (optional.isPresent()) {
Luckymoney luckymoney = optional.get();
luckymoney.setConsumer(consumer);
return repository.save(luckymoney);
}
return null;
}
请求效果:
GitHub : https://github.com/xq19930522/springbootjpa
码云地址 :https://gitee.com/qiuyu123/springbootjpa.git
原文:https://www.cnblogs.com/paimianbaobao/p/15039078.html