sqlite-jdbc
go-sqlite3
Our great sponsors
sqlite-jdbc | go-sqlite3 | |
---|---|---|
21 | 39 | |
2,682 | 7,446 | |
- | - | |
9.1 | 6.3 | |
1 day ago | 10 days ago | |
Java | C | |
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.
sqlite-jdbc
-
Exciting SQLite Improvements Since 2020
There's also a fairly popular JDBC driver for SQLite too:
https://github.com/xerial/sqlite-jdbc
Mentioning that because from (very) rough memory, Excel can work with JDBC too.
So if the ODBC approach doesn't work for someone, there's potentially another thing they can try. :)
-
Janet for Mortals
Sadly, another baseless assumption. I just downloaded sqlite java driver from https://github.com/xerial/sqlite-jdbc/. And compiled their sample program on the home page to native code. (all within ~1min after reading your response)
javac Sample.java && native-image -cp .:sqlite-jdbc-3.41.2.1.jar Sample
-
ResultSet's "getX" working without calling "next()" first? (Xerial SQLite)
Here's a link to the ResultSet source code for that driver. https://github.com/xerial/sqlite-jdbc/blob/master/src/main/java/org/sqlite/jdbc3/JDBC3ResultSet.java
-
sqlite, persistence, and java
Well, the simplest is to just use basic JDBC. See https://www.tutorialspoint.com/jdbc/jdbc-sample-code.htm or maybe some tests that the xerial-jdbc library has https://github.com/xerial/sqlite-jdbc/blob/master/src/test/java/org/sqlite/CollationTest.java
- Between using H2 and HSQLDB as a production DB, which is the better choice?
- Are there any reasons for not using SQLite as an embedded DB in a Spring Boot web app?
-
What's the best approach for creating an embedded Postgresql to be used in production?
There is https://github.com/xerial/sqlite-jdbc, a full packaged sql lite for Java. We use it in production apps to store local user profile data. It works, is stable.
-
I’m Switching from VS Code to vs Codium
> Take the Jetbrains IDEs. I don't mean to offend any VSC fans out there but the Jetbrains IDEs are simply better and more mature in every single way.
I just discontinued my Jetbrains subscription after 10 years or so. Now I'm using VS Code and don't miss anything. My reasons for switching to VS Code are unrelated to the costs but purely due to quality issues and missing or poorly implemented features:
1. For all Jetbrains IDEs, ISO keyboard layout with dead keys doesn't work on Ubuntu based distros. I was baffled when I found out after saying goodbye to Windows lately. When filing a bug I was asked to wade through years old pages of comments to find somewhere someone who posted a workaround that was not compatible with the Toolbox. Well, at least the support could have sent me the instructions to fix it to save me spending an hour to read those threads at the Youtrack.
2. Vue 3 support was a disaster for itself. Still, Vue 3 support is very much behind the VS Code extension.
3. Same for Svelte. They are not even working on bugs / feature requests like intellisense in the templates.
4. Same for TailwindCSS. Never ending storing. Don't know and care if Jetbrains got it right by now.
5. Starting maybe 2 years ago, Jetbrains added feature for feature that were just distracting and annoying. This "run command in terminal" thingie for example. They're bloating their IDEs with new (mostly useless stuff) but don't fix essential bugs or get Webstorm back into shape.
6. Datagrip still doesn't (or maybe it does in the meantime) support SQLite STRICT TABLES (version 3.37). The simple answer from Jetbrains was: "The open source lib we're using does not support it so we don't." (Actually the lib (https://github.com/xerial/sqlite-jdbc) is currently unmaintained - another reason to be careful depending on a lib maintained by a single person.). The reply would be perfectly fine for an open source project, but not for a multi billion dollar company I as a customer had payed accumulated several thousand Euros in the last years.
I'm using mainly Go, Rust and several frontend frameworks. VS Code support for those is really good. Many things work much better in VS Code.
- Lumosql
-
Replacing JNI with Panama in the SQLite JDBC driver
I was working on this project for a few months: https://github.com/xerial/sqlite-jdbc/pull/568. I basically read this entire book to learn more about the C api: https://www.amazon.com/Using-SQLite-Small-Reliable-Choose/dp/0596521189 and studied the JNI for a few weeks.
go-sqlite3
-
Redis Re-Implemented with SQLite
for what it's worth, the two pool approach is suggested here by a collaborator to github.com/mattn/go-sqlite3: https://github.com/mattn/go-sqlite3/issues/1179#issuecomment...
-
Replacing Complicated Hashmaps with SQLite
SQLite is great. I've also recently settled on it as a key-value store, after considering a few purpose-built key-value solutions. Turns out that it's really easy to make SQLite work as a key-value store, but very difficult to make key-value stores relational.
Just be careful with `:memory:` databases. From the mattn/go-sqlite3 FAQ[1]:
> Each connection to ":memory:" opens a brand new in-memory sql database, so if the stdlib's sql engine happens to open another connection and you've only specified ":memory:", that connection will see a brand new database. A workaround is to use "file::memory:?cache=shared" (or "file:foobar?mode=memory&cache=shared"). Every connection to this string will point to the same in-memory database.
I noticed strange behaviors with just `:memory:` where tables would just disappear at random, and this workaround helped. Make sure to use a unique filename as the `file:` value, especially if using this in tests.
[1]: https://github.com/mattn/go-sqlite3#faq
-
What 3rd-party libraries do you use often/all the time?
github.com/mattn/go-sqlite3
-
From Golang Beginner to Building Basic Web Server in 4 Days!
For building my web server, I chose to use the Gin framework as the foundation of my app. It was incredibly easy to understand and work with, and I was pleasantly surprised by how seamlessly it integrated with writing unit tests for the server. To handle the database, I leveraged the power of go-sqlite and migrate for efficient SQL queries and migrations. These libraries proved to be both powerful and user-friendly, making the development process a breeze.
-
Zig now has built-in HTTP server and client in std
https://github.com/mattn/go-sqlite3/blob/master/_example/sim...
-
Exciting SQLite Improvements Since 2020
SQLite does have an optional "user authentication" extension, though I've not personally tried it out:
https://www.sqlite.org/src/doc/trunk/ext/userauth/user-auth....
The widely used Go SQLite library by mattn says it supports it, if that's useful:
https://github.com/mattn/go-sqlite3#user-authentication
-
Go port of SQLite without CGo
I have an OSS project, sq which is a data-wrangling swiss-army knife for structured data. Think of it as jq for databases. It supports Postgres, SQLServer, MySQL and - relevantly - SQLite. It embeds SQLite via CGo and the mattn/go-sqlite3 driver.
- In-memory key value store
-
Tools besides Go for a newbie
IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
- GitHub - elgs/gosqlapi: Turns any SQL database into a RESTful API.
What are some alternatives?
HikariCP - 光 HikariCP・A solid, high-performance, JDBC connection pool at last.
GORM - The fantastic ORM library for Golang, aims to be developer friendly
Hibernate - Hibernate's core Object/Relational Mapping functionality
sqlx - general purpose extensions to golang's database/sql
jOOQ - jOOQ is the best way to write SQL in Java
pgx - PostgreSQL driver and toolkit for Go
Trino - Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
go-sqlite - Low-level Go interface to SQLite 3
Paper - The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
go-sqlite-lite - SQLite driver for the Go programming language
Ebean ORM - Ebean ORM
Sqinn-Go - Golang SQLite without cgo