У чым розніца паміж jdbc і sqlj?
адказ 1:
У звычайных файлах Java вы карыстаецеся JDBC для ўзаемадзеяння з базай дадзеных. Кожны раз, калі вы запусціце DML (выбраць, уставіць, выдаліць, ...), набор павінен быць аптымізаваны і прааналізаваны, каб стварыць план доступу, а затым выканаць дзеянне. Калі вы павінны рабіць гэта часта, рабіць тое ж самае кожны раз можа быць дорага.
Замест гэтага SQLJ - гэта спалучэнне Java і SQL. Свае прапановы вы пішаце як у праглядальнік базы дадзеных, і прапановы аналізуюцца пры іх складанні. Гэта азначае, што запісы статычныя і пакет ствараецца ў базе дадзеных, якая змяшчае план доступу. Гэта таксама азначае, што запыт аналізуецца толькі адзін раз і выконваецца некалькі разоў падчас кампіляцыі.
JDBC больш падыходзіць для дынамічных запытаў, напрыклад, B. Выберыце, створаны з шэрагам параметраў, якія кожны раз адрозніваюцца. SQLJ прызначаны для статычных запытаў, якія маюць аднолькавую структуру.
Распрацоўка ў SQLJ вельмі простая, і, нарэшце, пасля папярэдняй кампіляцыі працэсар здабывае наборы SQL, стварае файл профілю для прывязкі ў базе дадзеных і стварае шэраг файлаў Java, якія ўтрымліваюць "аптымізаваны" JDBC.
Вы можаце змешваць SQLJ і JDBC у адным файле і атрымліваць усё магчымае ў любым свеце. Абвяшчэнне выбару для абнаўлення, а потым паўтаранне і змяненне радка вельмі дакладнае ў SQLJ.
Праўда, SQLJ не вельмі папулярны, але гэта праблема, калі распрацоўшчыкі думаюць толькі пра сваю праграму, не аналізуючы, як атрымаць доступ да дадзеных, распрацоўшчыкі пішуць толькі код і калі праграмы выпускаюць у вытворчасць Праблемы з прадукцыйнасцю заўсёды аднолькавыя. SQLJ прапануе больш гнуткі доступ да дадзеных, які DBA высока ацэньвае.
Праверце перапаўненне стэка для больш падрабязнай інфармацыі.
адказ 2:
Паколькі я не быў знаёмы з SQLJ, я паглядзеў і скапіяваў верхняе вызначэнне з Google:
SQLJ - састарэлая працоўная назва для намаганняў па аб'яднанні Java і SQL.
Ключавое слова там "састарэла". Больш не выкарыстоўваецца, калі б гэта было.
Частка 0 апісвае ўбудаванне аператараў SQL у праграмы Java.
Ммм, гэта не падобна на добрую ідэю ... :-) Як і дрэнная ідэя, што Скала мусіў убудаваць XML у сінтаксіс, але я адступіўся ...
JDBC - гэта афіцыйны спосаб узаемадзеяння з (рэляцыйнымі) базамі дадзеных. Ён вызначае API для запыту і абнаўлення дадзеных у базе дадзеных. Пастаўшчыкі баз дадзеных, такія як Oracle або MySQL, прадастаўляюць драйверы, якія выконваюць гэты API і забяспечваюць пэўны доступ да сваёй базы дадзеных.
Ёсць і іншыя параметры (NoSQL, ORM і г.д.), але гэта не тэматычна.