问题描述
如何使用saveAll
实现类似ReactiveCrudRepository
的{{1}}方法?
那是我的实现-很遗憾,它不起作用。
DatabaseClient
解决方法
使用Statement.add
方法绑定多个参数。
在this post中查看我的示例。
,@Autowired
private DatabaseClient databaseClient;
public Mono<Integer> saveAll(List<Book> books) {
var query = new StringBuilder("INSERT INTO book(title,author) VALUES ");
var bookIterator = books.iterator();
while(bookIterator.hasNext()) {
var book = bookIterator.next();
query.append(String.format("('%s','%s')",book.getTitle(),book.getAuthor()));
if(bookIterator.hasNext()) {
query.append(",");
}
}
return databaseClient.execute(query.toString()).fetch().rowsUpdated();
}