Pull to refresh

Comments 7

А как насчет Spring JDBC? Что дает представленная вами библиотека по сравнению со творением Spring?
Spring JDBC — отличная библиотека для Java. Погрязла в Spring глубже, чем Anorm в Play, но это не минус.
Если их сравнивать, то получится больше похожего, чем различий. Все-таки обе команды воплащают лучшие практики, просто на разных языках. Но парочку различий выделить можно.
Что в Spring JDBC сделано удобнее, чем в ScalikeJDBC:
  • Благодаря магии Spring, там удобнее работать с транзакциями. Но это, скорее благодаря Spring-IoC, который заворачивает через proxy в транзакции все, что в @Transactional. В скала DI не так популярен.

Что в ScalikeJDBC сделано удобнее, чем в Spring JDBC:
  • Благодаря магии Scala, параметры помещаются сразу в запрос. В Spring приходится сначала помечать :param_name в запросе, а потом передовать параметры отдельно. Благодаря этому в скала меньше визуального шума получается.

Хотя, конечно, сложно сравнивать… Все-таки эти библиотеки из разных миров. Тогда уж нужно полностью сравнивать, приложения на Java+Spring+SpringJDBC vs Scala+Smth+ScalikeJDBC и те возможности, что предоставляют эти связки. А это уже на отдельную, причем холиварную, статью тянет.
Какие плюсы-минусы у ScalikeJDBC по сравнению со Slick?
Бесплатность для работы с проприетарными СУБД?
На самом деле со Slick еще не работал, сравнить не могу.
не заметил никаких сложностей использовать Anorm без Play!

в build.sbt добавлено
  "com.typesafe.play" %% "anorm" % "2.3.8"

Взяв jdbc наперевес в базу хожу руками (уже не помню почему, но можно обернуть удобнее).
В итоге есть экземпляр java.sql.Connection, который отдается всем, кому нужно сходить в базу. Делать это трейтом или еще как — дело вкуса. Конект примерно так же передается имплиситом.

А дальше примерно та же картина, плюс-минус
val result = SQL("select some_column from some_table").executeQuery.as(...)

а вот то, что можно написать внутри as() понравилось.
Ок, каюсь, не пробовал использовать Anorm без Play. Потому и написал так обтекаемо про «возможные» сложности этого процесса. Вообще мне синтаксис и подход Skalike кажется чуточку более стройным, чем у Anorm, и уже этого хватило, чтобы поделиться знаниями о существовании этой библиотеки с хабром. Возможно, узнав о ней, некоторые скалисты озадачатся уже вопросом об использовании Skalike в Play =).
Sign up to leave a comment.

Articles

Change theme settings