SpringBoot+JPA简单实现数据库连接
一.application.properties配置
server.port=8080
server.servlet.context-path=/SpringBootJPA
spring.datasource.url=jdbc:mysql://localhost:3306/zzty-cy?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=114514
spring.jpa.database=MYSQL
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
二.Entity类
package com.cy.entity;
import javax.persistence.Entity;
import javax.persistence.Id;
import java.sql.Date;
@Entity
public class OrderMain {
@Id
private String id;
private String name;
private double total;
private String address;
private Date createTime;
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 double getTotal() {
return total;
}
public void setTotal(double total) {
this.total = total;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
@Entity 注解 声明这是个entity类
@ID 注解 声明下面的属性是表的主键
三.Repository类
package com.cy.repository;
import com.cy.entity.OrderMain;
import org.springframework.data.repository.CrudRepository;
public interface OrderRepository extends CrudRepository<OrderMain,String>{
//(类型,主键类型)
}
建立一个Repository接口集成CrudRepository,在<>内设置数据库建表的entity类型,以及entity类型主键的类型。
四.Service类
package com.cy.service;
import com.cy.entity.OrderMain;
import com.cy.repository.OrderRepository;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class OrderService {
@Resource
OrderRepository or;
public OrderMain add(OrderMain order) {
return or.save(order); //调用repository的save方法,传入一个类
}
}
service中的add方法调用repository中封装的savae方法,将entity传入作为参数
五.Controller类
package com.cy.controller;
import com.cy.entity.OrderMain;
import com.cy.service.OrderService;
import com.cy.utils.KeyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("order")
public class OrderController {
@Resource //注入service
OrderService os;
@RequestMapping("add")
public OrderMain save(HttpServletRequest request){
OrderMain or = new OrderMain();
String address = request.getParameter("address");
String name = request.getParameter("name");
or.setAddress(address);
or.setName(name);
or.setId(KeyUtils.genUniqueKey());
return os.add(or);
}
}
@RestController 注解 声明只是个Controller
@RequestMapping(“order”) 注解 声明这个controller拦截order路径
@Resource 注解 注入service
@RequestMapping(“add”) 注解 声明 save方法拦截order路径下的add路径
save方法中调用 service 中的add方法
roller
@RequestMapping(“order”) 注解 声明这个controller拦截order路径
@Resource 注解 注入service
@RequestMapping(“add”) 注解 声明 save方法拦截order路径下的add路径
save方法中调用 service 中的add方法