データを照会するJDBC接続を使用します:
インポート java.sqlの。* ; パブリック クラスJDBCDemo { / * 连接参数常量* / プライベート 静的な 最終文字列JDBC_URL = "はjdbc:mysqlの:?/// MyBatisのuseUnicode =真&characterEncoding = UTF-8&allowMultiQueries =真&useSslオプション=偽&serverTimezone = GMTの%2B8" 。 プライベート 静的な 最終文字列USER =「ルート」。 プライベート 静的な 最終文字列のPWD =「ルート」。 パブリック 静的 ボイドメイン(文字列[]引数){ 接続の接続 = nullを。 PreparedStatementのPreparedStatementの = nullを。 たresultSetのResultSet = NULL ; 試み{ / * 負荷駆動* / Class.forNameの( "はcom.mysql.jdbc.Driver" ); / * 接続オブジェクトを取得* / 接続 = たDriverManager.getConnection(JDBC_URL、USER、PWD); / * SQL * / 文字列のSQL = "SELECT *ユーザーから上記IDに言及=?" ; / * 着信SQL * / のPreparedStatement = のConnection.prepareStatement(SQL); / * SQLのパラメータを設定します* / preparedStatement.setInt( 1 ,. 1 ); / * 実行SQL戻りデータ* / たresultSet = PreparedStatement.executeQuery(); / * 結果セットを横断する* / ながら(ResultSet.next()){ System.out.println( "ID =" + resultSet.getInt( "ID")+ "名=" + resultSet.getString( "ユーザ名" )); } } キャッチ(ClassNotFoundExceptionが| のSQLException E){ e.printStackTrace(); } 最後に{ / * クローズすべての接続* / IF(たresultSet!= ヌル){ 試み{ resultSet.close(); } キャッチ(のSQLException e)の{ e.printStackTrace(); } } 場合(PreparedStatementの!= nullの){ しようと{ preparedStatement.close(); } キャッチ(のSQLException e)の{ e.printStackTrace(); } } もし(接続!= nullの){ しようと{ connection.close(); } キャッチ(のSQLException e)の{ e.printStackTrace(); } } } } }
4ポイントを使用するには不便の概要JDBCの使用:
図1に示すように、システムリソースの浪費をもたらす、接続を解放し、頻繁な使用を作成します。
2は、SQLは、ハードコーディングされた後の維持・拡大を助長されていませんコードでは、あまりにも強い結合です。
3、メンテナンスの後半にパラメータを設定するプレースホルダ方法を使用して(SQL条件を変更するため、変更するために必要なプレースホルダパラメータ)あまりにも面倒です。
4、結果の処理は、ハードコーディングされ、後期の維持に資するものです。