Skip to content
Java & Kotlin Async DataBase Driver for MySQL and PostgreSQL written in Kotlin
Branch: master
Clone or download
Latest commit 8e168f4 Apr 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
db-async-common fix an issue of timeout in connection creation, even if timeout did n… Apr 3, 2019
gradle/wrapper
mysql-async change the default utf8 encoding Apr 7, 2019
postgresql-async
r2dbc-mysql fix typo in class name Mar 28, 2019
samples Update README.md Mar 21, 2019
the-old-files move unused files to directory of old files Jan 28, 2019
.gitignore add DS_Store to .gitignore Mar 11, 2019
.travis.yml add netty leak checks to travis build Mar 11, 2019
CHANGELOG.md Update CHANGELOG.md Apr 8, 2019
CONTRIBUTING.md move unused files to directory of old files Jan 28, 2019
LICENSE.txt Update LICENSE.txt Nov 7, 2018
README.md
build.gradle add r2dbc-mysql Mar 19, 2019
detect-leak.sh add netty leak checks to travis build Mar 11, 2019
gradlew
gradlew.bat Adding gradle wrapper Aug 27, 2018
jas.png Add files via upload Oct 10, 2018
production.png Add files via upload Feb 11, 2019
settings.gradle
versions.gradle update netty to 4.1.34.Final Mar 11, 2019

README.md

jasync-sql

Chat at https://gitter.im/jasync-sql/support Download Build Status Apache License V.2 codecov Awesome Kotlin Badge

jasync-sql is a Simple, Netty based, asynchronous, performant and reliable database drivers for PostgreSQL and MySQL written in Kotlin.

Show your ❤ with a ★

Getting started

// Connection to MySQL DB
Connection connection = MySQLConnectionBuilder.createConnectionPool(
               "jdbc:mysql://$host:$port/$database?user=$username&password=$password");
     
// Connection to PostgreSQL DB    
Connection connection = PostgreSQLConnectionBuilder.createConnectionPool(
               "jdbc:postgresql://$host:$port/$database?user=$username&password=$password");

// Execute query
CompletableFuture<QueryResult> future = connection.sendPreparedStatement("select * from table");
// work with result ...
// Close the connection pool
connection.disconnect().get()

See a full example at jasync-mysql-example and jasync-postgresql-example.
More samples on the samples dir.

For docs and info see the wiki.

Download

Maven

<!-- mysql -->
<dependency>
  <groupId>com.github.jasync-sql</groupId>
  <artifactId>jasync-mysql</artifactId>
  <version>0.9.51</version>
</dependency>
<!-- postgresql -->
<dependency>
  <groupId>com.github.jasync-sql</groupId>
  <artifactId>jasync-postgresql</artifactId>
  <version>0.9.51</version>
</dependency>
<!-- add jcenter repo: -->
<repositories>
  <repository>
    <id>jcenter</id>
    <url>https://jcenter.bintray.com/</url>
  </repository>
</repositories>

Gradle

dependencies {
  // mysql
  compile 'com.github.jasync-sql:jasync-mysql:0.9.51'
  // postgresql
  compile 'com.github.jasync-sql:jasync-postgresql:0.9.51'
}
// add jcenter repo:
repositories {
    jcenter()
}

Overview

This project is a port of mauricio/postgresql-async to Kotlin.
Why? Because the original lib is not maintained anymore, We use it in ob1k, and would like to remove the Scala dependency in ob1k.

This project always returns JodaTime when dealing with date types and not the java.util.Date class. (We plan to move to jdk-8 dates).

If you want information specific to the drivers, check the PostgreSQL README and the MySQL README.

You can view the project's change log here.

Follow us on twitter: @jasyncs.

Who is using it

Add your name here!

Is it used in production on large scale?

jasync-sql-production

The graph above is from only couple of services using it. Y-Axis is # of queries per minute.

There is also a TechEmpower test using ktor and jasync-sql.

Support

More links

Contributing

Pull requests are welcome!
See CONTRIBUTING.

You can’t perform that action at this time.