JDBC接続データベースの2種類のパッケージ

16397 ワード

JDBC接続データベースの2つの操作
1.定数プールを通過しない単純な接続
プロファイル
driverClassName = com.mysql.jdbc.Driver
url = jdbc:mysql://127.0.0.1:3306/jdbc
user = root
password = 123456

メイン関数呼び出し方法
package com.jdbc.test;

import java.io.IOException;
import java.sql.SQLException;

public class JdbcTest {
	public static void main(String[] args) throws ClassNotFoundException, IOException, SQLException {
		Method method = new Method();
		method.Jdbc();

	}
}


接続方法
package com.jdbc.test;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class Method {
	public void Jdbc() throws IOException, ClassNotFoundException, SQLException {
		InputStream inputStream = this.getClass().getClassLoader()
            				.getResourceAsStream("jdbc.properties");
		Properties properties = new Properties();
		properties.load(inputStream); //  
		inputStream.close();
		
		String ClassName = properties.getProperty("driverClassName");
		String url = properties.getProperty("url");
		String user = properties.getProperty("user");
		String password = properties.getProperty("password");
		Class.forName(ClassName);
		Connection connection = DriverManager.getConnection(url, user, password);
		System.out.println(connection);
		connection.close();
		
	}
}


2.接続プールによる接続
データベースに接続するときに、データベースのバッファプールを作成します.データベース接続を確立する必要がある場合は、「バッファプール」から1つだけ取り出し、使用後に戻します.
アプリケーションが毎回再確立するのではなく、既存のデータベース接続を繰り返し使用できるようにします.
メリットは次のとおりです.
1.リソースの再利用、
2.より速いシステム反応速度、
3.新しい資源配分手段
4.統一的な接続管理、データベース接続の漏洩を避ける.
以下はDruidデータベース接続プール、接続データベースコード
プロファイルdruid.properties
driverClassName = com.mysql.jdbc.Driver
url = jdbc:mysql://127.0.0.1:3306/jdbc
username = root
password = 123456
initialSize = 5
maxActive = 50
minIdle = 10



JdbcUtilクラス構築接続プールリンクライブラリメソッド
package com.jdbc.util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource; //    ,     

import com.alibaba.druid.pool.DruidDataSourceFactory;
/**
 *       ,  dataSource      ,     .
 * @author Xiangxiang
 *	@create 2020
 */
public class JdbcUtil {
	private static DataSource dataSource; //  dataSource      
	static {//            ,      
		InputStream inputStream = JdbcUtil.class.getClassLoader().getResourceAsStream("druid.properties");
		Properties properties = new Properties();
		try {
			properties.load(inputStream);
			inputStream.close();
			dataSource = DruidDataSourceFactory.createDataSource(properties);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static Connection getConnection() throws SQLException {
		Connection connection = dataSource.getConnection(); //   
		return connection;
	}

}



テストクラス
package com.jdbc.util;

import java.sql.Connection;
import java.sql.SQLException;

import org.junit.Test;
/**
 *	           mysql jar 
 * @author Xiangxiang
 *	@create 2020
 */
public class JdbcTest {
	@Test
	public void test() { 
		try {
			Connection connection = JdbcUtil.getConnection(); //    
			System.out.println(connection);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}



Note:Jdbcでは接続プールの使用が効率的で、その後の学習で徐々に操作が簡略化され、sql文も重要です.