https://github.com/wayerr/sqlfiles - идея старая, я про неё неоднократно писал, но вот щас в силу наличия свободного времени накидал реализацию. На старой работе я уже писал это, но там код закрытый, потом несколько лет хотел написать реализацию заново, но все не доходили руки.
Вот так выглядит шаблон запроса:
/*#secondTestQuery*/ -- имя запроса
select
-- объявление полей результата
now(), /*@date type=TIMESTAMP*/
17843, --@weight type=INT
-- а это уже параметр запроса
/*$id, type=INT {*/123/*}*/
;
/*#secondTestQuery end*/
А так сам запрос:
select
now(),
17843,
?
;
По сути это замена шаблонизаторам mybatis и некоторых других библиотек.