java jpa自建表及簡單使用
阿新 • • 發佈:2019-02-13
自建表:
1、在pom.xml中引入
<!-- jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2、建立一個實體
import javax.persistence.*; import java.io.Serializable; /** * 學生基本資訊實體 * @ClassName: StudentInfoBean * @author sunt * @version V1.0 */ @Entity @Table(name = "t_student") public class Student implements Serializable { /** * 學號,唯一不重複 * 宣告主鍵 * 宣告主鍵的生成策略 **/ @Id @GeneratedValue private Integer stuNum; @Column(length = 45) private String stuName; public Integer getStuNum() { return stuNum; } public void setStuNum(Integer stuNum) { this.stuNum = stuNum; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } }
3、實現StudentRepository
package com.zw.learning.dao; import com.zw.learning.entity.Student; import org.springframework.data.jpa.repository.JpaRepository; public interface StudentRepository extends JpaRepository<Student, String> { // 自定義查詢方法 Student findByStuNameAndStuNum(String name, Integer num); }
4、定義StudentService服務
package com.zw.learning.service; import com.zw.learning.entity.Student; import java.util.List; public interface StudentService { /** * @Description: 獲取學生列表 * @param: user * @return: */ List<Student> list(); /** * @Description: 根據name,num獲取學生資訊 * @param: user * @return: */ Student findStudentWithNumAndName(String name, Integer num); }
5、實現StudentService服務
package com.zw.learning.service.impl;
import com.zw.learning.dao.StudentRepository;
import com.zw.learning.entity.Student;
import com.zw.learning.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class StudentServiceImpl implements StudentService {
@Autowired
StudentRepository studentRepository;
@Override
public List<Student> list() {
return studentRepository.findAll();
}
@Override
public Student findStudentWithNumAndName(String name, Integer num) {
return studentRepository.findByStuNameAndStuNum(name, num);
}
}
⚠️注意: @Service註解不要遺忘
6、介面實現
/**
* @Description 獲取請求IP
* @return string
*/
// HttpServletRequest 適用於get請求方式
@RequestMapping(value = "/getStudent", method = RequestMethod.GET)
@ResponseBody
public R getStudent(HttpServletRequest request){
String name = request.getParameter("name");
Integer num = Integer.valueOf(request.getParameter("num"));
try{
return R.isOK().data(studentService.findStudentWithNumAndName(name, num));
}catch (Exception e){
return R.isFail(e);
}
}
7、效果圖