JavaでJDBCを使ってMySQLを利用する際、INSERTでデータを追加したら登録したデータが文字化けしていました… データベースは CHARACTER SET utf8 COLLATE utf8 として作成し、Java 内でも UTF-8 を使用しているので、文字化けが発生する原因が分かりませんでした。しかも、MySQLモニタ等であらかじめ登録してあるデータを読み出す際には文字化けが発生しません。 Java ➡ MySQL の時だけおかしくなるようです。 ということで、調べてみましたが、JDBCでコネクションを取得する際に、文字コードを指定する方法があるようなので、試してみました。具体的には以下のようにします。 Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.ge
JavaでMySQLを操作する基本的な部分について書きました。 JDBCドライバの取得 JavaからMySQLへ接続するにはJDBCドライバが必要です。 MySQL :: Download Connector/J からダウンロードして下さい。ダウンロードしたら解凍して、中のjarファイルを使用します。 $ tar zxvf mysql-connector-java-5.1.35.tar.gz $ ls mysql-connector-java-5.1.35/mysql-connector-java-5.1.35-bin.jar mysql-connector-java-5.1.35/mysql-connector-java-5.1.35-bin.jar Maven リポジトリは以下の通り。 <dependency> <groupId>mysql</groupId> <artifactId>
指定されたデータベースの URL への接続を試みます。DriverManager は、登録 された JDBC ドライバの集合から適切なドライバを選択しようとします。 パラメータ: url - jdbc:subprotocol:subname 形式のデータベース URL user - その代理として接続が行われるデータベースユーザ password - ユーザのパスワード 戻り値: URL への接続 例外: SQLException - データベースアクセスエラーが発生した場合 引数には接続するデータベースを表すURLと接続用のユーザー名とパスワードを指定します。 MySQLの場合、URLの形式は次のようになります。 jdbc:mysql://(サーバ名)/(データベース名) 例えばローカルホストにある「jdbctestdb」というデータベースに接続する場合は次のようになります。 jdbc:
ではここからデータベースへの接続を開始します。 データベースに接続するためには、まずJDBCドライバをロードします。MySQLの場合は次のように行います。 try { Class.forName("com.mysql.jdbc.Driver").newInstance(); }catch (ClassNotFoundException e){ }catch (Exception e){ } 簡単に説明しますとClassクラスと言うのは、Javaにおけるクラスやインターフェースを表すものです。特定のクラスを利用するには「Class.forName(クラス名)」とクラス名を指定して"forName"メソッドを実行します。 そして、指定したクラスのインスタンスを作成するには"newInstance"メソッドを使います。これで指定したクラスのインスタンスが作成されました。 ※良く分からない説明だと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く