SpringBoot 整合 Spring Data JPA 实现数据库操作的项目
最近在学习Spring Data JPA的相关知识,感觉还是很不错的,提供了很多方法,包括CRUD和分页排序,基本能够满足现实的功能需求.
它一共提供了四个接口:
- Repository: 仅仅是一个标识,表明任何继承它的均为仓库接口类,方便Spring自动扫描识别
- CrudRepository: 继承Repository,实现了一组CRUD相关的方法
- PagingAndSortingRepository: 继承CrudRepository,实现了一组分页排序相关的方法
- JpaRepository: 继承PagingAndSortingRepository,实现一组JPA规范相关的方法
- JpaSpecificationExecutor: 比较特殊,不属于Repository体系,实现一组JPA Criteria查询相关的方法
一、在mysql中的test库中建立user表,并插入两条数据,为后续做好准备
二、在pom.xml中添加依赖
<!-- spring data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
三、建立与数据库表对应的实体OyUser
/**
* @author oyc
* @Description:用户实体类
* @date 2018/7/8 22:51
*/
@Entity
@Table(name = "oy_user")
public class OyUser {
//用户id
@Id
private String id;
//用户名称
private String name;
//户年龄
private String age;
//用户性别
private String sex;
//省略了getter和setter方法
}
四、创建OyUserRepository接口,继承pring Data JPA 的JpaRepository,用于实现对数据库的操作
/**
* 用户JPA接口类,继承JPA的JpaRepository,利用Spring Data JPA 的JpaRepository实现数据的操作
*
*/
public interface OyUserRepository extends JpaRepository<OyUser,String> {
}
五、创建OyUserServer和OyUserServerImpl
用户服务接口类OyUserService.java
/**
* @author oyc
* @Title:
* @Description:用户服务接口类
* @date 2018/7/1615:06
*/
public interface OyUserService {
List<OyUser> getUserList();
}
用户服务实现类OyUserServiceImpl.java
/**
* @author oyc
* @Description: 用户服务实现类
* @date 2018/7/1 615:07
*/
@Service
public class OyUserServerImpl implements OyUserService {
/**
* 依赖注入,注入用户JPA接口类
*/
@Resource
private OyUserRepository oyUserRepository;
@Override
public List<OyUser> getUserList() {
List<OyUser> list = oyUserRepository.findAll();
return list;
}
}
六、用户控制类
/**
* @author oyc
* @Title:
* @Description:用户控制类
* @date 2018/7/1615:10
*/
@Controller
@RequestMapping("/user")
public class OyUserController {
/**
* 依赖注入,注入用户服务类
*/
@Resource
private OyUserService oyUserService;
/**
* 查询用户列表
* @param model
* @return
*/
@RequestMapping("list")
public String list(ModelMap model){
List<OyUser> users = oyUserService.getUserList();
model.addAttribute("users",users);
return "user";
}
}
七、测试