中文代碼之Spring Boot對H2數據庫簡單查詢

續前文: 中文代碼之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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章