springboot随笔之三:springboot整合spring-data-jpa(mysql)

  • springboot随笔之一:简易springboot项目编写
  • springboot随笔之二:springboot中control实现
  • springboot随笔之三:springboot整合spring-data-jpa(关系型数据库mysql)
  • springboot随笔之四:springboot整合spring-data-jpa(nosql mogodb)

一、在mysql(8.0)中准备数据如下

springboot随笔之三:springboot整合spring-data-jpa(mysql)_第1张图片

二、结合前面的实例,项目中配置包依赖及数据源

1、jpa包依赖

  
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
           
            mysql
            mysql-connector-java
        

2、配置数据源

# jdbc设置
spring.jpa.database = MYSQL
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

三、编写数据库表对应的实体类

package com.expample.springboot03.domain;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;


@Entity
@Table(name="student")
public class Student {

 @Id
 private int id;
 private String name;
 private int age;


 public int getId() {
     return id;
 }

 public void setId(int id) {
     this.id = id;
 }

 public String getName() {
     return name;
 }

 public void setName(String name) {
     this.name = name;
 }

 public int getAge() {
     return age;
 }

 public void setAge(int age) {
     this.age = age;
 }
}

四、编写持久层

package com.expample.springboot03.dao;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.expample.springboot03.domain.Student;

@Repository("studentDao")
public interface IStudentDao extends JpaRepository {

}

其中JpaRepository
Student表示数据库中表对应的实体类
Integer表示数据中表对应主键类型

Spring容器会根据@Repository("studentDao")创建对应的对象studentDao

五、编写业务层

package com.expample.springboot03.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.expample.springboot03.domain.Student;

@Service
public interface IStudentService {

	List findAllStudents();
}
package com.expample.springboot03.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.expample.springboot03.dao.IStudentDao;
import com.expample.springboot03.domain.Student;
import com.expample.springboot03.service.IStudentService;

@Service("studentService")
public class StudentServiceImpl implements IStudentService {

	@Autowired
	private IStudentDao studentDao;
	@Override
	public List findAllStudents() {
		// TODO Auto-generated method stub
		return studentDao.findAll();
	}

}

六、完善控制器

package com.expample.springboot03.control;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.expample.springboot03.domain.Student;
import com.expample.springboot03.service.IStudentService;

@RestController
@RequestMapping("/exampleControl")
public class ExampleControl {
	@Autowired
	private IStudentService studentService;
	@RequestMapping("/testExample")
	public String testExample() {
        return "testExample";
	}
	
	@RequestMapping("/showStudents")
	public List showStudents() {
		return studentService.findAllStudents();
	}

}

七、运行springboot启动类,浏览器测试:http://localhost:8000/test/exampleControl/showStudents

springboot随笔之三:springboot整合spring-data-jpa(mysql)_第2张图片

 

点击下载此项目源码

你可能感兴趣的:(springboot随笔之三:springboot整合spring-data-jpa(mysql))