fatcoach
ScalikeJDBC
Our great sponsors
fatcoach | ScalikeJDBC | |
---|---|---|
5 | 4 | |
6 | 1,255 | |
- | 0.2% | |
0.0 | 8.9 | |
almost 2 years ago | 1 day ago | |
CSS | Scala | |
MIT License | Apache License 2.0 |
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.
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?
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:
http://scalikejdbc.org/
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.
What are some alternatives?
calypso - Calypso is a mostly imperative language with some functional influences that is focused on flexibility and simplicity.
Slick - Slick (Scala Language Integrated Connection Kit) is a modern database query and access library for Scala
delta - C* is a hybrid low-level/high-level systems programming language focused on performance and productivity.
doobie - Functional JDBC layer for Scala.
quantleaf-language-documentation - Quantleaf Language Documentation & Examples
Quill - Compile-time Language Integrated Queries for Scala
lngrs
Anorm - The Anorm database library
shiru-ts
Squeryl - A Scala DSL for talking with databases with minimum verbosity and maximum type safety
kuroko - Dialect of Python with explicit variable declaration and block scoping, with a lightweight and easy-to-embed bytecode compiler and interpreter.
Relate - Performant database access in Scala