オブジェクトと getClass()
そのクラスを取得するための方法、あなたはどのクラスの実装であるかを決定するために行くこと自由に感じることができます。
私たちが知りたいコードのJDBC接続プールは、1-1を示すリターンコードとして、近い方法でCONNリリース接続または接続を呼び出すことです
私たちは)(conn.getClassを印刷することができます::
接続CONN = JDBCUtils.getConnection()。
System.out.println(conn.getClass())。
クラスcom.alibaba.druid.pool.DruidPooledConnectionの結果ので、この接続の実装クラスが実際DruidPooledConnectionある、DruidPooledConnection近い方法ではなく接続を解除する、接続プールに戻される知っているソースコードを表示します。
コード1-1:
1 パッケージcn.itcast.utils。 2 3 インポートcom.alibaba.druid.pool.DruidDataSourceFactory。 4 5 インポートするjavax.sql.DataSource。 6 インポートにjava.io.IOException。 7 インポートのjava.sql.Connection。 8 インポートのjava.sql.ResultSet。 9 インポートjava.sql.SQLExceptionという。 10 輸入によりjava.sql.Statement。 11の インポートjava.util.Properties。 12 13 パブリック クラスJDBCUtils { 14の プライベート 静的データソースDS。 15 16 静的{ 17の プロパティプロ= 新しいプロパティ(); 18 試み{ 19 // 1加载配置文件 20 pro.load(JDBCUtils。クラス .getClassLoader()getResourceAsStream( "druid.properties"。 )); 21 // 2.获取データソース 22 、DS = DruidDataSourceFactory.createDataSource(プロ)。 23 } キャッチ(IOExceptionを電子){ 24 e.printStackTrace(); 25 } キャッチ(例外e){ 26 e.printStackTrace(); 27 } 28 } 29 30 31 公共の 静的データソースをgetDataSource(){ 32の リターンDS。 33 } 34 / ** 35 *获取连接 36 * @return 37 *は@throws SQLExceptionが 38 * / 39 パブリック 静的接続のgetConnection()スローのSQLException { 40 リターンds.getConnection(); 41 } 42 43 44 パブリック 静的 ボイド近い(ステートメントstmtは、接続CONN){ 45 であれば(STMT =!ヌル){ 46 試し{ 47 stmt.close(); 48 } キャッチ(のSQLException E){ 49 e.printStackTrace(); 50 } 51 } 52 53 であれば(connの!= NULL ){ 54 のtry { 55 はconn.close(); 56 } キャッチ(のSQLException E){ 57 e.printStackTrace(); 58 } 59 } 60 } 61 62 63 公共 静的 ボイド近い(のResultSet RS、ステートメントSTMT、接続CONN){ 64 であれば(RS =!NULL ){ 65 のtry { 66 rs.close()。 67 } キャッチ(のSQLException E){ 68 e.printStackTrace(); 69 } 70 } 71 であれば(STMT!= NULL ){ 72 試み{ 73 stmt.close()。 74 } キャッチ(のSQLException E){ 75 e.printStackTrace(); 76 } 77 } 78 79 であれば(connの!= NULL ){ 80 のtry { 81 はconn.close(); 82 } キャッチ(のSQLException E){ 83 e.printStackTrace(); 84 } 85 } 86 } 87 88 89 }