Spring Cloud Spring Data Repositories

2024-01-11 14:55 更新

Spring Data Repositories是一种功能强大的抽象,可以节省许多样板代码。

例如:

public interface TraderRepository extends SpannerRepository<Trader, String> {
}

Spring Data生成指定接口的有效实现,可以方便地将其自动连接到应用程序中。

SpannerRepositoryTrader类型参数引用基础域类型。第二种类型参数String在这种情况下是指域类型的键的类型。

对于具有复合主键的POJO,此ID类型参数可以是与所有主键属性兼容的Object[]的任何后代,Iterablecom.google.cloud.spanner.Key的任何后代。如果域POJO类型只有一个主键列,则可以使用主键属性类型,也可以使用Key类型。

例如,在属于交易者的交易中,TradeRepository看起来像这样:

public interface TradeRepository extends SpannerRepository<Trade, String[]> {

}
public class MyApplication {

	@Autowired
	SpannerTemplate spannerTemplate;

	@Autowired
	StudentRepository studentRepository;

	public void demo() {

		this.tradeRepository.deleteAll();
		String traderId = "demo_trader";
		Trade t = new Trade();
		t.symbol = stock;
		t.action = action;
		t.traderId = traderId;
		t.price = 100.0;
		t.shares = 12345.6;
		this.spannerTemplate.insert(t);

		Iterable<Trade> allTrades = this.tradeRepository.findAll();

		int count = this.tradeRepository.countByAction("BUY");

	}
}
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号