The best way to log SQL statements with JDBC, JPA or Hibernate Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Wouldn’t that be just awesome? Well, Hypersistence Optimizer is that tool! And it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, or Play Framework. So, enjoy spending your time on the things you love rather than fixing per
今月創刊したクラウド専門誌の日経クラウドファースト。その特集の1つが、Amazon Auroraです。私も、その特集の執筆に協力させて頂きました。 itpro.nikkeibp.co.jp その中で、AuroraとMariaDB版のConnector/Jについて少し触れています。個人的にはMariaDB版のConnector/Jは、設計思想や実装面から将来性があり、かなり面白い製品と思っています。せっかくの機会なので、少し紹介します。 Auroraのクラスタ・エンドポイントとインスタンス・エンドポイント MariaDBのConnector/Jの話をする前に、まずAuroraに接続するためのエンドポイントの説明をします。Auroraには、クラスタ・エンドポイントとインスタンス・エンドポイントの2種類のエンドポイントを持っています。 インスタンス・エンドポイントは、Auroraの各インスタンス
String name = new JdbcSession(source) .sql("SELECT name FROM employee WHERE id = ?") .set(1234) .select(new SingleOutcome<String>(String.class)); Simple and straight forward, isn’t it? The library simplifies interaction with relational databases via JDBC, avoiding the need to use ORM. jcabi-jdbc is a lightweight wrapper of JDBC. It is very convenient to use when you don’t need a full-scale ORM (li
log4jdbc を使うと jdbc でアクセスしたクエリのログが簡単にとれて便利なのだが、設定を誤るとパフォーマンスを超絶劣化させてくるので注意が必要である。 log4jdbc はデバッグレベルだと Throwable のインスタンスを取得してスタックトレースを取って、呼び出し元の情報を表示する。 これが極めて遅い。本当に驚くほど遅い。 ↓具体的にはこのへんである。 private static String getDebugInfo() { Throwable t = new Throwable(); t.fillInStackTrace(); StackTraceElement[] stackTrace = t.getStackTrace(); if (stackTrace != null) https://github.com/arthurblake/log4jdbc/blob/m
Overview HA-JDBC is a JDBC proxy that provides light-weight, transparent, fault tolerant clustering capability to any underlying JDBC driver. Features Supports any database accessible via JDBC. High fault tolerance - a database cluster can lose a node without failing/corrupting any transactions. Live activation/deactivation allows for maintenance/upgrading of a database node without loss of servic
まずは、log4jdbc から JDK のバージョンにあった jar ファイルを入手します。 log4jdbc3-{バージョン}.jar (JDK 1.4 or 5.0) log4jdbc4-{バージョン}.jar (JDK 6.0 or 7.0) log4jdbc は SLF4J を使用しているので、これも入手します。 slf4j-api-{バージョン}.jar slf4j-log4j12-{バージョン}.jar 最初に JDBC のドライバ名に net.sf.log4jdbc.DriverSpy を指定します。 次に JDBC の接続 URL に jdbc:log4 を追加します。 jdbc:oracle:thin:@localhost:11521:java6 ↓ jdbc:log4jdbc:oracle:thin:@localhost:11521:java6 最後に log4j.xm
<Insert Picture Here> Scalability and Reliability Features of MySQL Connector/J Mark Matthews Principal Software Developer MySQL Enterprise Tools Todd Farmer Senior Manager MySQL Support Load-balancing/Failover Use Cases • Directly (jdbc:mysql:loadbalance:// URL prefix): – Clustered (NDB) or Multi-Master Replication deployment where both read and write operations are distributed across all hosts.
SansOrm is not an ORM. SansOrm library will... Massively decrease the boilerplate code you write even if you use pure SQL (and no Java objects) Persist and retrieve simple annotated Java objects, and lists thereof, without you writing SQL Persist and retrieve complex annotated Java objects, and lists thereof, where you provide the SQL SansOrm will never... Perform a JOIN for you Persist a graph of
JdbcSession is a convenient fluent wrapper around JDBC. Read this blog post: Fluent JDBC Decorator. import com.jcabi.jdbc.JdbcSession; public class Main { public static void main(String[] args) throws SQLException { String name = new JdbcSession(source) .sql("SELECT name FROM foo WHERE id = ?") .set(123) .select(new SingleOutcome<String>(String.class)); } }
22 May 2013 I've been working with different Java web applications since the late 90's and when there have been performance issues, I would say that 99% of the time, the problem is the database, or rather how it is used. At my last company (Josh) we had a really good connection pool wrapper, that collected data and made us know exactly what happens to the database. But that code isn't Open Source
SQL in Java 8: ResultSet Streams. With Java 8, writing SQL will change fundamentally, no matter what API you're using. List<Schema> result = new ArrayList<>(); try (Connection c = getConnection()) { String sql = "select schema_name, is_default " + "from information_schema.schemata " + "order by schema_name"; try (PreparedStatement stmt = c.prepareStatement(sql); ResultSet rs = stmt.executeQuery())
MariaDB 5.5 MariaDB Java Client 1.1.5 今年の夏頃からMariaDBを使っている。 今のところクライアントは主にJavaプログラムである。 この数ヶ月間、MariaDBには驚かされてばかりだ。 遭遇したすべての状況を記事にすることは現状できていないが、小出しになってしまうにせよ、そのうち時間を見つけて記載するつもりでいる。 例えば、こんなことがあった。 ・テーブル名などの識別子の大文字小文字を「区別する」 ・しかも、WindowsとOS Xでは識別子の大文字小文字を「区別しない」 ・VARCHAR型の大文字小文字をデフォルトで「区別しない」 ・DATETIME型のデフォルト値にNOW()を指定できない ・TIMESTAMP型の扱いがややこしい ・行ロックの挙動が普通じゃない などなど。 上に挙げたすべてのことは、MariaDBというよりも、MySQLの仕
import java.sql.Connection; import java.sql.SQLException; import com.jolbox.bonecp.BoneCP; import com.jolbox.bonecp.BoneCPConfig; public class MyBoneCPApp { private BoneCP bcp = null; private String driverClassName = "com.mysql.jdbc.Driver"; private String username = "root"; private String password = ""; private String url = "jdbc:mysql://localhost/test"; public void init() throws ClassNotFoundExc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く