环境:
- IDEA
- JDK8
- Spring Boot
- MySQL
- Spring Data JPA
在数据库中创建一个存储过程
CREATE PROCEDURE GetStudent(IN ageMin int, IN gradeMin int)
BEGIN
SELECT * FROM student
WHERE age > ageMin
AND grade > gradeMin;
END;
简单解释:
第一行中的GetStudent 是过程名,括号中的是参数,IN代表传入参数,OUT是传出参数, ageMin是参数名,int是参数类型(参数类型需是数据库中的参数类型)。
BEGIN和END中间的就是SQL语句
在数据库中调用:
call GetStudent(1,2);
使用spring data jpa调用这个存储过程:
步骤:
- 创建一个实体类
- 在实体类中使用注解的方式绑定数据库中的存储过程
- 调用这个存储过程
先上代码
实体类:
package com.zhang.demo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
@Entity
@NamedStoredProcedureQu