Comments 7
А как насчет Spring JDBC? Что дает представленная вами библиотека по сравнению со творением Spring?
0
Spring JDBC — отличная библиотека для Java. Погрязла в Spring глубже, чем Anorm в Play, но это не минус.
Если их сравнивать, то получится больше похожего, чем различий. Все-таки обе команды воплащают лучшие практики, просто на разных языках. Но парочку различий выделить можно.
Что в Spring JDBC сделано удобнее, чем в ScalikeJDBC:
Что в ScalikeJDBC сделано удобнее, чем в Spring JDBC:
Если их сравнивать, то получится больше похожего, чем различий. Все-таки обе команды воплащают лучшие практики, просто на разных языках. Но парочку различий выделить можно.
Что в Spring JDBC сделано удобнее, чем в ScalikeJDBC:
- Благодаря магии Spring, там удобнее работать с транзакциями. Но это, скорее благодаря Spring-IoC, который заворачивает через proxy в транзакции все, что в @Transactional. В скала DI не так популярен.
Что в ScalikeJDBC сделано удобнее, чем в Spring JDBC:
- Благодаря магии Scala, параметры помещаются сразу в запрос. В Spring приходится сначала помечать :param_name в запросе, а потом передовать параметры отдельно. Благодаря этому в скала меньше визуального шума получается.
+2
Хотя, конечно, сложно сравнивать… Все-таки эти библиотеки из разных миров. Тогда уж нужно полностью сравнивать, приложения на Java+Spring+SpringJDBC vs Scala+Smth+ScalikeJDBC и те возможности, что предоставляют эти связки. А это уже на отдельную, причем холиварную, статью тянет.
+1
Какие плюсы-минусы у ScalikeJDBC по сравнению со Slick?
0
не заметил никаких сложностей использовать Anorm без Play!
в build.sbt добавлено
Взяв jdbc наперевес в базу хожу руками (уже не помню почему, но можно обернуть удобнее).
В итоге есть экземпляр java.sql.Connection, который отдается всем, кому нужно сходить в базу. Делать это трейтом или еще как — дело вкуса. Конект примерно так же передается имплиситом.
А дальше примерно та же картина, плюс-минус
а вот то, что можно написать внутри as() понравилось.
в 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() понравилось.
0
Ок, каюсь, не пробовал использовать Anorm без Play. Потому и написал так обтекаемо про «возможные» сложности этого процесса. Вообще мне синтаксис и подход Skalike кажется чуточку более стройным, чем у Anorm, и уже этого хватило, чтобы поделиться знаниями о существовании этой библиотеки с хабром. Возможно, узнав о ней, некоторые скалисты озадачатся уже вопросом об использовании Skalike в Play =).
0
Sign up to leave a comment.
Articles
Change theme settings
SQL доступ к РСУБД посредством ScalikeJDBC