spring-data-jpa 具有动态表名的JDBI通用CrudDao接口

nukf8bse  于 2022-11-10  发布在  Spring
关注(0)|答案(1)|浏览(191)

我有一个父JDBI接口,我的daos从该接口继承(如JDBI的文档中所示):

@UseClasspathSqlLocator
public interface CrudDao<T, ID> {
  @SqlUpdate 
  void insert(@BindBean T entity);

  @SqlQuery 
  Optional<T> findById(ID id);

  @SqlQuery
  List<T> list();

  @SqlUpdate
  void update(@BindBean T entity);

  @SqlUpdate
  void deleteById(ID id);
}

上面的技术要求我为我创建的每个DAO创建insert.sql、update.sql、deleteById.sql、list.sql和findById.sql。由于后三个sql语句在所有DAO类中都是相同的(除了表名),是否可以只指定一次sql语句,然后让所有继承的CrudDao类都使用它们?
这让我想起了SpringJPA的SpEL如何支持#{#entityName}查询语法。

相关问题