jdbc学習ノート(一)jdbcによるデータベース接続

19046 ワード

1.jdbcとは
        jdbcはSQL文を実行するJava APIであり、Java言語で記述されたクラスとインタフェースのセットからなる複数のリレーショナル・データベースへの統合アクセスを提供します.        通俗的に言えば、私たちはjavaを通じてデータベースに接続する必要があります.他の人が書いたjavaとデータベースの接続の統一インタフェースを使用する必要があります.javaとデータベースの下層接続メカニズムを理解していない場合、データベースとjavaプログラムの接続を容易に実現することができます.
2.jdbc接続データベースによる添削方法
①jdbcによるデータベースへのデータ追加機能
//1.   Driver       
Class.forName("com.mysql.jdbc.Driver");
//2.  DriverManager        Connection  。
Connection con = DriverManager.getConnection(url, name, password);
// 	   url            :"jdbc:mysql://localhost:3306/user";
//   	 localhost:  IP  
//    	 3306:        
//   	 user:         
//	 name:            :“root”
//	 password:               :“123”
//3.  Connection  ,  Statement  ;
Statement stm = con.createStatement();
//4.  Statement   executeUpdate()  ,      sql  ,       ,    insert     。
int i = stm.executeUpdate("insert into student values( null, '   ',‘abc’) where sid = 1")if(i != 0{             //    i  0,        。
	System.out.println("      !");
}

②jdbcによりデータベース削除を実現し、データを修正する機能は第1点の追加機能と比較してほぼ類似しており、少し異なり、sql文はdelete...、update....
3.jdbc接続データベースによるクエリー機能の実現方法
//1.   Driver       
Class.forName("com.mysql.jdbc.Driver");
//2.  DriverManager        Connection  。
Connection con = DriverManager.getConnection(url, name, password);
//     url            :"jdbc:mysql://localhost:3306/user";
//     localhost:  IP  
//      3306:        
//     user:         
//  name:            :“root”
//  password:               :“123”
//3.  Connection  ,  Statement  ;
Statement stm = con.createStatement();
//4.  Statement   executeQuery()  ,      sql  ,       ,    ResultSet  。
ResultSet rs = stm.executeUpdate("insert into student values( null, '   ',‘abc’) where sid = 1")while(rs.next(){             //   next()    true,          ,               next()  。
 // :           ”name"  。
 String str = rs.get(”name“);
 System.out.println(str);
}

4.接続データベースのデータを個別ファイルに抽出する
//1.      db.properties  ,        
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test2
username=root
password=123
//2.      JDBCUtils ,      Connection  ,        。
public class JDBCUtils {
 static String driverClassName = null;
 static String url = null;
 static String username = null;
 static String password = null;

 
 static{
	Properties pp = new Properties();
	try {
		pp.load(new FileInputStream("db.properties"));
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} catch (IOException e) {
   		e.printStackTrace();
  	}
	driverClassName = pp.getProperty("driverClassName");
	url = pp.getProperty("url");
	username = pp.getProperty("username");
	password = pp.getProperty("password");
 	}
	 /**
	  *        
	  */
	 public static Connection getConnection(){
		Connection con = null;
		try {
			Class.forName(driverClassName);
			con = DriverManager.getConnection(url, username, password);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return con;
	}
	/**
  	*        
 	*/
	public static void release(Statement st, Connection con){
		if(st != null){
			try {
				st.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			st = null;
		}
		if(con != null){
			try {
				con.close();
			} catch (SQLException e) {
    				e.printStackTrace();
			}
			con = null;
		}
	}
	public static void release(ResultSet rs, Statement st, Connection con){
		if(rs != null){
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			rs = null;
		}
		if(st != null){
			try {
				st.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			st = null;
		}
		if(con != null){
			try {
				con.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			con = null;
		}
	}
 }