借阅模块开发
本章节主要完成功能接口的实现,相比于第 16 章的开发,因为这里使用的数据持久层框架不同,所以程序的实现也是不同的。通过本小节的学习将会发现,在项目中,不同的框架,开发效率也不同。
实体类
在实体类中,因为不存在类似于 MyBatis 的 XML 映射文件,所以我们需要按照 JPA 的需求写实体类,代码如下所示。
package com.exampletwo.brrow.entity;
@Entity
@Table(name = "broowing")
public class Broowing {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int uuid;
@Column(name="book_ename",length = 32)
private String bookEname;
@Column(name="book_cname",length = 32)
private String bookCname;
@Column(name="book_quantity",length = 32)
private int bookQuantity;
@Column(name="start_time")
private Date startTime;
@Column(name="end_time")
private Date endTime;
//SET和GET方法省略
}
Repository接口
在 JPA 中,需要写对应的接口。查询所有接口如下。
package com.exampletwo.brrow.dao;
public interface BrrowRepository extends JpaRepository<Broowing,Integer> {
//查询所有对象
public List<Broowing> findAll();
}
Service层
按照业务开发的需求,添加 Service 层,以便对数据进行部分操作。查询所有数据的 Service 层如下。
package com.exampletwo.brrow.service;
@Service
public class BroowingService {
@Autowired
private BrrowRepository brrowRepository;
//查询所有对象
public List<Broowing> findAll(){
return brrowRepository.findAll();
}
}
Controller层
对于 Controller 层,是前台页面与后台进行交互的接口,是 Restful 接口。查询所有图书接口如下。
package com.exampletwo.brrow.controller;
@RestController
public class BrrowController {
@Autowired
private BroowingService broowingService;
//查询所有对象
@RequestMapping("/book/queryAllBook")
public List<Broowing> findAll(){
return broowingService.findAll();
}
}
接口测试
目前的数据库数据如图17.5所示。

Figure 1. 图17.5 数据库数据
对所有图书接口进行测试,访问链接 http://localhost:8091/book/queryAllBook ,测试结果如图17.6所示。

Figure 2. 图17.6 测试结果