Для любителей JDBC
От: jpx http://sourceforge.net/projects/sqlg2
Дата: 17.05.06 18:14
Оценка: 1 (1)
Как-то для своих нужд сделал несложный препроцессор, позволяющий упростить работу с чистым JDBC; существенный недостаток JDBC в том, что нужно писать много однообразного кода для элементарных действий.
Была такая вещь, как SQLJ, но не прижилась, не в последнюю очередь из-за наличия специального языка, который не понимают IDE.
Это попытка соединить JDBC, SQLJ, плюс кое-какие идеи из iBATIS в чистом Java-коде, без использования XML или специальной разметки кода (вместо нее используются аннотации).

Итак, препроцессор и runtime-библиотека SQLG2.
Страница проекта:
http://sourceforge.net/projects/sqlg2
Документация:
http://sqlg2.sourceforge.net

Чем он хорош:
1. Простой, код становится более похожим на PL/SQL или аналогичные языки, что есть хорошо для тех, кто хочет разрабатывать логику именно в терминах БД.
2. Нет никаких конфигурационных XML-файлов, только Java-исходники, тем не менее препроцессор извлекает из них всю нужную информацию.
3. SQL-операторы проверяются во время препроцессирования, а не в run-time, т.е. ошибки будут пойманы сразу.
4. Небольшой размер, и не требует внешних библиотек (хотя для самого препроцессора и требуется ANTLR, он включен в соответствующий jar-файл).
Re: Для любителей JDBC
От: dshe  
Дата: 18.05.06 07:11
Оценка:
Здравствуйте, jpx, Вы писали:

jpx>Как-то для своих нужд сделал несложный препроцессор, позволяющий упростить работу с чистым JDBC


Мельком проглядел доку. По ходу возник вопрос. Чем такой код
    /** 
     * SELECT EMP_NO, EMP_NAME, JOB, MGR, HIRE_DATE 
     *   FROM EMP 
     * ORDER BY EMP_NO 
     */ 
    @Sql String sql = "";

лучше такого
    @Sql String sql =
        " SELECT EMP_NO, EMP_NAME, JOB, MGR, HIRE_DATE" +
        "   FROM EMP" +
        " ORDER BY EMP_NO";

?
--
Дмитро
Re[2]: Для любителей JDBC
От: jpx http://sourceforge.net/projects/sqlg2
Дата: 18.05.06 14:22
Оценка:
Здравствуйте, dshe, Вы писали:

D>Мельком проглядел доку. По ходу возник вопрос. Чем такой код

D>...
D>лучше такого
D>...
D>?

Только тем, что первый вариант мне больше нравится
А так разницы нет (во втором случае @Sql писать собственно и не надо).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.