1
我正在使用帶有Cassandra 2.1的Datastax驅動程序(Java),並且我想知道在性能方面是否有利用Accessor註釋的接口而不是Prepared Statements。Datastax對象映射API性能
基本上,我不知道什麼是之間的最佳方法:
方法1:
PreparedStatement statement = session.prepare("SELECT * FROM USER WHERE name = ?");
ResultSet resultSet = session.execute(statement.bind("someone"));
User user = userMapper.map(resultSet).one();
和
方法2:
@Accessor
public interface UserAccessor {
@Query("SELECT * FROM USERS WHERE name = :name")
User getUser(@Param("userName") String name);
}
...
MappingManager manager = new MappingManager (getSession());
User user = new User();
UserAccessor userAccessor = manager.createAccessor(UserAccessor.class);
User user = userAccessor.getUser("someone");
此外,如果我想要表演,我應該使用這個映射器嗎?或者,使用POJO的簡單綁定語句更好?
PreparedStatement statement = session.prepare("SELECT * FROM USER WHERE name = ?");
BoundStatement bind= statement.bind("someone");
ResultSet results = session.execute(bind);
for (Row row : results) {
User user = new User (row.getString("name"));
}