續前文: 中文代碼之Spring Boot集成H2內存數據庫
在詞條中添加英文術語域:
@Entity
public class 詞條 {
@Id
private long id;
private String 英文術語;
private String 中文術語;
public 詞條() {
}
public 詞條(long id, String 英文術語, String 中文術語) {
this.id = id;
this.英文術語 = 英文術語;
this.中文術語 = 中文術語;
}
public long getId() {
return id;
}
public String get中文術語() {
return 中文術語;
}
public String get英文術語() {
return 英文術語;
}
}
聲明查詢方法(Spring支持特定命名格式的查詢方法, 參考: https://docs.spring.io/spring-data/jpa/docs/1.8.x/reference/html/#repositories.query-methods)
@Repository
public interface 詞庫接口 extends JpaRepository<詞條, Long> {
List<詞條> findBy英文術語(String 英文術語);
}
在控制器中用數據庫查詢代替原本的內建Map查詢:
@RestController
public class 詞典控制器 {
private static final Logger 筆錄 = LoggerFactory.getLogger(詞典控制器.class);
@Autowired
private 詞庫接口 詞庫;
@GetMapping("/")
@ResponseBody
public List<詞條> 取詞條(@RequestParam(name = "term", required = false, defaultValue = "") String 英文術語) {
筆錄.info("輸入: " + 英文術語);
return 詞庫.findBy英文術語(英文術語);
}
}
訪問在線演示地址: http://74.91.17.250:8090/?term=List 返回:
[
{
id: 3,
英文術語: "List",
中文術語: "列表"
}
]
繼續欠測試.
2018-08-24