CrudRepository の count() メソッドでレコード件数を数えることが出来ます。テーブルのレコード件数だけ知りたいケースで便利です。
CrudRepository は JpaRepository のスーパーインターフェースです。そのため、JpaRepository を extends して作成する Repository クラスで count() メソッドを使用することが出来ます。戻り値は long型 で返却されます。
サンプル
サンプルコードを示します。
このクラスがデータエンティティです。DBのテーブルとマッピングします。
@Data
@Entity
public class TestInfo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private Date updateTime;
}
JpaRepository を extends するのは TestInfoRepositoryクラス としました。
@Repository
public interface TestInfoRepository extends JpaRepository<TestInfo, Integer> {
}
TestInfoRepositoryクラス を Autowired して使用します。
@Controller
public class SampleController {
@Autowired
TestRepository testRepository;
@GetMapping(value = "/")
public void index() {
long testInfoList = testRepository.count();
}
}
これでレコード件数が取得できました。SQLやカウント処理を書かなくても済むので便利ですね。