ScalikeJDBC
fatcoach
Our great sponsors
ScalikeJDBC | fatcoach | |
---|---|---|
4 | 5 | |
1,255 | 6 | |
0.2% | - | |
8.9 | 0.0 | |
1 day ago | over 1 year ago | |
Scala | CSS | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ScalikeJDBC
-
What are the possible ways to connect with MYSQL using scala
You can also try http://scalikejdbc.org which is my personal favorite.
-
Scala 3 RDBMS Libraries
Maybe not what you're looking for but ScalikeJDBC is published for Scala 3 since version 4.0.0.
- Query DSL in Scala 3
-
From First Principles: Why Scala?
I have had poor experiences with "fancy" SQL libraries in multiple languages when I go past basic operations. This includes Slick and Quill in Scala.
I don't remember what the problems were with Slick that leave such a bad feeling when I hear its name -- that was 5 years ago -- but I had problems with Quill just last year. I was trying to use it to generate an efficient "in" query against a two column composite primary key, and nothing seemed to work. Since it uses macro magic, one of my attempts triggered an internal compiler error instead of normal compiler feedback.
I ended up dropping Quill for ScalikeJDBC:
It seems to be less popular/active than other libraries, but it is dead simple to use, even for developers new to Scala. I write exactly the SQL I want just like I would in psql. There is little-to-no magic [1]. I think that the only slightly magical feature I use is ensure that variable interpolation into SQL ("SQLInterpolation") prevents injection attacks.
[1] It actually has capabilities to automatically map tables/columns into different structures and generate code for you, but my team doesn't use any of that. We just write SQL.
fatcoach
-
Xtext - Do you use it in large projects?
ANTLR opinionated query lang (this stuff is actually translating into SQL queries using jooq): Fatcoach
-
Possible innovations in Event Sourcing frameworks.
In the spirit of DDD I believe we should ditch custom designed events and use generic Change Data Capture (CDC) events like Create/Update/Delete for domain changes. I would like to refer to an experimental project with some ideas on this direction, although it was not designed for this purpose, but you get the picture. Also Master/Detail design matches the idea of aggregates.
-
April 2021 monthly "What are you working on?" thread
FatCoach is an experimental project for a Back-End as a Service (BaaS) framework (using the Kotlin language) which abstracts the underlying SQL database from Front-End developers. Sharing a similar purpose to GraphQL (on a client perspective); however, with a different philosophy and architecture.
-
Building a custom DB engine by reusing code.
I also build a POC here, mapping to SQL via jOOQ. But I believe a graph engine would be better suited. I need to look into your links.
-
Query DSL in Scala 3
I have a personal project here that defines a query language created with Antlr and Kotlin. Now, is it possible to create something very similar using Scala 3 metaprogramming with compile-time checks?
What are some alternatives?
Slick - Slick (Scala Language Integrated Connection Kit) is a modern database query and access library for Scala
calypso - Calypso is a mostly imperative language with some functional influences that is focused on flexibility and simplicity.
doobie - Functional JDBC layer for Scala.
delta - C* is a hybrid low-level/high-level systems programming language focused on performance and productivity.
Quill - Compile-time Language Integrated Queries for Scala
lngrs
Anorm - The Anorm database library
quantleaf-language-documentation - Quantleaf Language Documentation & Examples
Squeryl - A Scala DSL for talking with databases with minimum verbosity and maximum type safety
shiru-ts
Relate - Performant database access in Scala
kuroko - Dialect of Python with explicit variable declaration and block scoping, with a lightweight and easy-to-embed bytecode compiler and interpreter.