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

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

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

1、jpa包依赖

 <!-- jpa依赖(访问关系型数据库) --> 
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
           <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

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<Student, Integer> {

}

其中JpaRepository<Student, Integer>
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<Student> 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<Student> 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<Student> showStudents() {
		return studentService.findAllStudents();
	}

}

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

 

点击下载此项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值