1. 程式人生 > >java jpa自建表及簡單使用

java jpa自建表及簡單使用

自建表:
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、效果圖
在這裡插入圖片描述