約 836,508 件
https://w.atwiki.jp/dellkeitai/pages/23.html
SQL Server http //msdn.microsoft.com/ja-jp/library/ms378422.aspx sqljdbc4.jar JDBC4.0をサポート JRE6用 sqljdbc.jar JDBC3.0をサポート JRE5用 SQL Server2005,2008で使用できる。 Oracle ojdbc6.jar KROWN 58280,151372
https://w.atwiki.jp/sevenlives/pages/1515.html
JDBCドライバ? JDBCドライバ・マネージャ? MySQL Connector/J? ODBC? OCI?
https://w.atwiki.jp/developmenttips/pages/91.html
JDBCとはRDBにアクセスするための標準JavaAPI
https://w.atwiki.jp/ce00582/pages/5472.html
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class pro extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println(" html "); out.println(" head "); out.println(" title データベーステスト /title "); out.println(" /head "); out.println(" body "); out.println(" p "); Connection conn = null; String url = "jdbc mysql //10.1.72.31 50133/ren8"; String user = "gwjdwYJu"; String password = "ffXNEuse"; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); out.println("ドライバのロードに成功しました br "); conn = DriverManager.getConnection(url, user, password); out.println("データベース接続に成功しました br "); }catch (ClassNotFoundException e){ out.println("ClassNotFoundException " + e.getMessage()); }catch (SQLException e){ out.println("SQLException " + e.getMessage()); }catch (Exception e){ out.println("Exception " + e.getMessage()); }finally{ try{ if (conn != null){ conn.close(); out.println("データベース切断に成功しました"); }else{ out.println("コネクションがありません"); } }catch (SQLException e){ out.println("SQLException " + e.getMessage()); } } out.println(" /p "); out.println(" /body "); out.println(" /html "); } }
https://w.atwiki.jp/c0metssd/pages/39.html
postgreSQLのSSL対応をした後の話 プールの設定 WebContext/META-INF/context.xmlを作成する ?xml version= 1.0 encoding= utf-8 ? Context Resource name="jdbc/public" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc postgresql //localhost 5432/データベース" username="ユーザ" password="パスワード" initialSize="5" maxActive="5" maxIdle="5" minIdle="5" maxAge="0" maxWait="1800" / /Context WebContext/WEB-INF/web.xml resource-ref res-ref-name jdbc/public /res-ref-name res-type javax.sql.DataSource /res-type res-auth Container /res-auth /resource-ref ソース DataSource ds = null; Context ctx = new InitialContext(); ds = (DataSource) ctx.lookup("java comp/env/jdbc/public"); try { } catch (Exception e) { } Connection conn = ds.getConnection(); javaの証明書を作成する(サーバ証明書を作成後) 1)cacertsをコピーして名前を変える C \Program Files\Java\jre7\lib\securityのcacertsをcacerts_java 2)コマンドプロンプトを管理者モードで開き、C \Program Files\Java\jre7\binに移動して以下を実行する keytool.exe -import -alias postgresql -file c \Opt\apache\conf\server.crt -trustcacerts -keystore ..\lib\security\cacerts_java キーストアのパスワードを入力してください changeit 所有者 O=Internet Widgits Pty Ltd, ST=Some-State, C=AU 発行者 O=Internet Widgits Pty Ltd, ST=Some-State, C=AU シリアル番号 cc3fcda13d33aede 有効期間の開始日 Wed Jul 09 14 52 52 JST 2014終了日 Sat Jul 06 14 52 52 JST 20 24 証明書のフィンガプリント MD5 82 75 19 B7 23 B2 78 6C 5B E1 67 66 AA 66 CF C4 SHA1 5E 73 BC CD 67 7F 7A B9 E1 B2 2D AA A5 F2 C2 46 CF 3C CF 18 SHA256 76 91 14 B5 4F E1 FA 45 63 28 00 4C 6E AB 78 A3 DF B7 8A B4 F3 6E DE 7A A1 37 BC 82 95 D6 35 8F 署名アルゴリズム名 SHA1withRSA バージョン 1 この証明書を信頼しますか。 [いいえ] はい 証明書がキーストアに追加されました 3)作成した、cacerts_javaをどこでもいいがc \Opt\apache\confに置く jdbcを呼び出す前に、プロパティをセットする(以下はソースの抜粋) System.setProperty("javax.net.ssl.trustStore", "C /Opt/apache/conf/cacerts_java"); System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); SSL接続にする(postgreSQLをSSL化した後の話) context.xmlを以下を追記する connectionProperties="ssl=true" context.xmlにベタにユーザ/パスワードを記載したくない場合の抜け道 context.xmlを以下を追記する factory="hoge.dao.MyBasicDataSourceFactory" クラスを作成する public class MyBasicDataSourceFactory extends BasicDataSourceFactory { @Override public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable environment) throws Exception { if ((obj == null) || (!(obj instanceof Reference))) { return null; } Reference ref = (Reference) obj; if (!("javax.sql.DataSource".equals(ref.getClassName()))) { return null; } // 見えないフィールドなので、リフレクションで取得する Field field = BasicDataSourceFactory.class.getDeclaredField("ALL_PROPERTIES"); field.setAccessible(true); String[] ALL_PROPERTIES = (String[]) field.get(BasicDataSourceFactory.class); Properties properties = new Properties(); for (int i = 0; i ALL_PROPERTIES.length; ++i) { String propertyName = ALL_PROPERTIES[i]; RefAddr ra = ref.get(propertyName); if (ra != null) { String propertyValue = ra.getContent().toString(); // パラメータ名がpasswordだった場合は復号化して、セットする if ("password".equals(propertyName)) { // 復号化 // TODO 復号化ロジックを呼び出す // セットしなおす propertyValue = "xxxx"; } properties.setProperty(propertyName, propertyValue); } } System.setProperty("javax.net.ssl.trustStore", "C /Opt/apache/conf/cacerts_java"); System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); return createDataSource(properties); } }
https://w.atwiki.jp/wikittoku/pages/14.html
JDBCドライバについて PostgreSQLに接続するアプリを作ろうとしてどのJDBCドライバを使えばよいかわからなかったのでメモ JDBCには4つのタイプがある 開発アプリケーション種類やシステム用件によって選ぶ。 タイプ 1 JDBC-ODBCブリッジドライバ タイプ 2 ネイティブブリッジドライバ タイプ 3 ネットプロトコルドライバ タイプ 4 ネイティブプロトコルドライバ 参考:JDBCドライバの種類と使い分け-- http //www.atmarkit.co.jp/fjava/javafaq/jdbc/jdbc02.html ドライバの提供元 DBMS開発者(ベンダ)が提供している。それぞれType1~4が全て提供されているわけではない。 Type1はSUNも提供している DBMS開発者がJDBCドライバを提供していない場合に利用。 http //java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jdbc/bridge.html SUNとしては全てのDBMS開発者がType4のドライバを提供してくれるのが理想みたい。 PostgreSQLのドライバ対応状況 本家Webページ -- http //jdbc.postgresql.org/download.html ここの方が和訳されてます。-- http //syo.cocolog-nifty.com/freely/2007/07/postgresqljdbc_e01a.html という事で JDK5 + PostgreSQL8.3 を使ってる私はType3でよいと。 コメント 間違い、ご意見などありましたらよろしくお願いします。 PostgreSQLのJDBCドライバの種類は接続方法のTypeではなく、JDBCの対応レベルの話になります(接続方法は全てType4)。私も最初悩みました・・・。 -- syo (2008-11-29 19 19 54) 名前 コメント
https://w.atwiki.jp/extranote/pages/25.html
JavaとMySQLを取り持つドライバ MySQL Connector/J 3.1 (mysql-connector-java-3.1.14-bin.jar) をインストールした。 http //dev.mysql.com/downloads/connector/j/3.1.html JDBCドライバ Javaプログラムからデータベースサーバへ接続/切断する SQL文を組み立て、データベースサーバで実行させる データベースサーバが処理した結果を取り出す データベースの情報、処理結果に関する情報を取り出す データベースによる差異は、JDBCドライバが吸収してくれる ■インストール mysql-connector-java-3.1.14-bin.jar を Eclipse でつかうには 1)Webアプリケーションルートフォルダ\WEB-INF\lib\mysql-connector-java-3.1.14-bin.jar を配置 2)Eclipseを起動 プロジェクトを右クリックして[更新] 3)プロジェクトを右クリックして[プロパティ]開く 4)[Javaのビルドパス]、[ライブラリ]、[JARの追加]でmysql-connector-java-3.1.14-bin.jarを選ぶ
https://w.atwiki.jp/ce00582/pages/5473.html
package jndi; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; public class checktable { Connection con = null; Statement st = null; ResultSet rs = null; int s; public String[] type=new String[500]; public String[] credit=new String[500]; int count; public int creditnumber; public void makedata(String tab){ try { Class.forName("com.mysql.jdbc.Driver").newInstance(); con = DriverManager.getConnection("jdbc mysql //10.1.72.31 50133/ren8", "gwjdwYJu", "ffXNEuse"); st = con.createStatement(); String sql = "select * from "+tab; rs = st.executeQuery(sql); ResultSetMetaData metaData = rs.getMetaData(); count = metaData.getColumnCount(); for (s = 1; s count+1; s++) { credit[s]=metaData.getColumnName(s); type[s]=metaData.getColumnTypeName(s); } creditnumber=count; } catch (Exception e) { System.out.println(e); } } }
https://w.atwiki.jp/ce00582/pages/5475.html
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class pro extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); String message; int s,count,creditnumber; String[] credit=new String[500]; int[] z=new int[100]; String url; String usr; String pwd ; String host,port; host="10.1.72.52"; port="50140"; url="jdbc mysql //10.1.72.28 50132/"; usr="qLKCpwDe"; pwd="iMAztgQZ"; table sub7=new table(); sub7.host=host; sub7.port=port; sub7.pwd=pwd; sub7.usr=usr; sub7.makedata("renjdbc","z","(x INTEGER)"); checktable sub=new checktable(); sub.pwd=pwd; sub.usr=usr; sub.port=port; sub.host=host; sub.makedata("renjdbc","z"); creditnumber=sub.creditnumber; for(s=1;s 100;s++){ insert sub3=new insert(); sub3.pwd=pwd; sub3.usr=usr; sub3.port=port; sub3.host=host; sub3.makedata("renjdbc","z","(1300)"); } out.println(creditnumber); select sub4=new select(); sub4.host=host; sub4.pwd=pwd; sub4.usr=usr; sub4.port=port; sub4.makedata("renjdbc","z"); count=sub4.count; z=sub4.z; out.println(count); for(s=1;s count+1;s++){ out.println(z[s]); out.println(" br "); } } }
https://w.atwiki.jp/yasrun/pages/198.html
サービスクラス DBアクセスを提供する。 テーブルごとに作成する。クラス名をテーブル名+Service とする。 S2AbstractServiceを継承する、その際型パラメータとして該当するentityクラスを指定する。 あとは何も書かなくてもとりあえずinser, update, delete, findAll, findByCondition, getCountなどは使える。 エンティティクラス メモ s2-tiger-2.4.46.jar org.seasar.extension.jdbc ConditionType.class 469~505行目 /** * 名前に応じた条件タイプを返します。 * * @param name * 名前 * @return 条件タイプ */ public static ConditionType getConditionType(String name) { if (NE.hasSuffix(name)) { return NE; } else if (LT.hasSuffix(name)) { return LT; } else if (LE.hasSuffix(name)) { return LE; } else if (GT.hasSuffix(name)) { return GT; } else if (GE.hasSuffix(name)) { return GE; } else if (NOT_IN.hasSuffix(name)) { return NOT_IN; } else if (IN.hasSuffix(name)) { return IN; } else if (LIKE.hasSuffix(name)) { return LIKE; } else if (STARTS.hasSuffix(name)) { return STARTS; } else if (ENDS.hasSuffix(name)) { return ENDS; } else if (CONTAINS.hasSuffix(name)) { return CONTAINS; } else if (IS_NULL.hasSuffix(name)) { return IS_NULL; } else if (IS_NOT_NULL.hasSuffix(name)) { return IS_NOT_NULL; } return EQ; }