Spring Data简化xml的sql语句的书写,让代码更加简洁!
1.maven添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2.yml配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/luckymoney?zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&useSSL=true
username: root
password: 201314
jpa:
hibernate:
ddl-auto: update
show-sql: true
3.entity
@Data
@Entity
public class LuckyMoney {
@Id
@GeneratedValue
private Integer id;
private BigDecimal money;
/**
* 发送放
*/
private String producer;
/**
* 接收方
*/
private String consumer;
}
sql
CREATE TABLE `lucky_money` (
`id` int(11) NOT NULL,
`consumer` varchar(255) DEFAULT NULL,
`money` decimal(5,2) DEFAULT NULL,
`producer` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
4.mapper需要继承JpaRepository泛型<对应的entity类,主键的类型>
public interface LuckyMoneyMapper extends JpaRepository<LuckyMoney,Integer> {
}
5.controller
@Controller
@RequestMapping("/lucky")
@ResponseBody
public class LuckyMoneyController {
@Autowired
private LuckyMoneyMapper luckyMoneyMapper;
/**
* 获取LuckyMoney列表
* @return
*/
@GetMapping("/luckys")
public List<LuckyMoney> getLuckys(){
return luckyMoneyMapper.findAll();
}
/**
* 创建一个红包
*/
@PostMapping("/luckys")
public LuckyMoney cteate(@RequestParam("producer") String producer,
@RequestParam("money")BigDecimal money){
LuckyMoney luckyMoney=new LuckyMoney();
luckyMoney.setProducer(producer);
luckyMoney.setMoney(money);
return luckyMoneyMapper.save(luckyMoney);
}
/**
* 通过id获取红包信息
*/
@GetMapping("/luckys/{id}")
public LuckyMoney findById(@PathVariable("id") Integer id){
return luckyMoneyMapper.findById(id).orElse(null);
}
/**
* 更新红包
*/
@PutMapping("/luckys/{id}")
public LuckyMoney update(@PathVariable("id") Integer id,
@RequestParam("consumer") String consumer){
//查找该id的红包
Optional<LuckyMoney> optional=luckyMoneyMapper.findById(id);
//判断是否为空
if(optional.isPresent()){
LuckyMoney luckyMoney=optional.get();
luckyMoney.setId(id);
luckyMoney.setConsumer(consumer);
return luckyMoneyMapper.save(luckyMoney);
}
return null;
}
}
postman测试