Oracle DB / MS SQLServer supported?
ScalikeJDBC supports PostgreSQL, MySQL, H2 Database Engine and HSQLDB. We never release without passing all the unit tests with these RDBMS. If you’re using either of them, ScalikeJDBC should be very stable.
On the other hand, ScalikeJDBC simply uses JDBC drivers internally, so it basically should work fine with any other RDBMS.
How to use other connection pool?
ScalikeJDBC’s default connection pool implementation is Apache Commons DBCP.
You can easily use other implementation. See in detail:
How to share same DB with Rails ActiveRecord?
As you know, Rails ActiveRecord saves timestamp values in UTC time zone. DB column types will be
timetamp without timezone.
When you need to work with them, call the following Java TimeZone’s setter method (instead of
DateTimeZone.setDefault(DateTimeZone.UTC)) at first.
How to build a like condition part?
LikeConditionEscapeUtil.escape("foo%aa_bbb\\ccc") // "foo\\%aa\\_bbb\\\\ccc" LikeConditionEscapeUtil.beginsWith("foo%aa_bbb\\ccc") // "foo\\%aa\\_bbb\\\\ccc%" LikeConditionEscapeUtil.endsWith("foo%aa_bbb\\ccc") // "%foo\\%aa\\_bbb\\\\ccc" LikeConditionEscapeUtil.contains("foo%aa_bbb\\ccc") // "%foo\\%aa\\_bbb\\\\ccc%"
Unfortunately, no. Indeed, JDBC drivers block on socket IO. So using them to talk with RDBMS in async event driven architecture may not be appropriate. However, actually most of real world applications don’t need event-driven architecture yet. JDBC is still important infrastructure for apps on the JVM.
If you really prefer non-blocking database access, take a look at ScalikeJDBC-Async. It provides non-blocking APIs to talk with PostgreSQL and MySQL in the JDBC way.
ScalikeJDBC-Async is still in the alpha stage. If you don’t have the motivation to investigate or fix issues yourself, we recommend waiting until the stable version is released someday.
ScalikeJDBC’s concept is a tidy wrapper of JDBC drivers, so it handles very lower layer than common ORMs. If you’re looking for an ORM which supports associations or other rich features, take a look at Skinny ORM.
Skinny ORM is the default DB access library of Skinny Framework. Skinny ORM is built upon ScalikeJDBC. In most cases, it will make things easier.
Is it possible to integrate with Play Framework?
Yes, it is. We support some Play plugins to seamlessly integrate ScalikeJDBC with Play Framework.
See in detail here: /documentation/playframework-support.html
the Apache License, Version 2.0