闲着没事,写写博客。今天分享一个spring-boot和jpa整合的笔记,使用Idea创建。
第一步,打开idea,点击file -> New -> project… 如下图:
第二步,选择Spring Initializr,然后 Next
第三步,选择需要的依赖,选择完成后点击Next 如下图:
Web -> Spring Web (必选)
SQL -> Spring Data JPA (必选)
SQL -> MySQL Driver (必选)
Developer Tools -> Lombok (非必选)
备注:Lombok只是个生成get/set方法的工具,非必选项。
依赖选完之后,点击Next下一步
然后点击 Finish 完成
第四步,项目创建完成后,打开pom文件,添加Druid连接池依赖,如下图:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
第五步,在resources目录下把application.properties 文件改成 application.yml,然后配置数据源信息。如下图:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/school?characterEncoding=utf8&useSSL=false&serverTimezone=GMT
username: root
password: root
driverClassName: com.mysql.cj.jdbc.Driver
第六步,在xxxApplication.java启动类的同级目录下创建包,如下图:
然后分别创建相关文件
entity 包 下创建跟表映射的实体类:
import lombok.Data;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity //注释:import javax.persistence.Entity;
@DynamicUpdate // 注释:import org.hibernate.annotations.DynamicUpdate;
@Data //注释: import lombok.Data;
@Table ( name ="student" )
public class Student {
@Id
private String sId;
private String sName;
private String sBirth;
private String sSex;
}
dao 包下创建持久层的接口:
package com.example.demo.dao;
import com.example.demo.entity.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
public interface StudentDao extends JpaRepository<Student,String>, JpaSpecificationExecutor<Student> { }
service 包下创建业务类,写业务代码:
package com.example.demo.service;
import com.example.demo.dao.StudentDao;
import com.example.demo.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class StudentServiceImpl {
@Autowired
StudentDao studentDao;
public List<Student> getStudent(){
return studentDao.findAll();
}
}
controller 包下创建控制类,与前端对接:
package com.example.demo.controller;
import com.example.demo.entity.Student;
import com.example.demo.service.StudentServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class StudentController {
@Autowired
StudentServiceImpl studentServiceImpl;
@RequestMapping("/student")
public List<Student> getStudent(){
return studentServiceImpl.getStudent();
}
}
第七步,创建完成后,启动项目测试。
推荐使用Postman测试