我有一个父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}
查询语法。
1条答案
按热度按时间1wnzp6jl1#
也许这能帮到你。
请查看@define注解。
How to dynamically bind a table name in JDBI