- springboot随笔之一:简易springboot项目编写
- springboot随笔之二:springboot中control实现
- springboot随笔之三:springboot整合spring-data-jpa(关系型数据库mysql)
- springboot随笔之四:springboot整合spring-data-jpa(nosql mogodb)
一、在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