자바 연결 데이터베이스 statement 클래스 사용 2011.9 8

4012 단어 statement
//    JDBC 연결 데 이 터 를 사용 하여 조회 의 주요 절 차 는 다음 과 같다. / /    1. JDBC 드라이버 불 러 오기; / / /    2. JDBC 드라이버 를 관리 하 는 클래스 DriverManager 는 불 러 온 드라이버 를 식별 하고 DriverManager 클래스 의 방법 getConnection () 으로 데이터베이스 연결 클래스 의 인 스 턴 스 대상 을 만 듭 니 다. / / /    3. Connection 대상 의 인 스 턴 스 를 가 져 오고 Connection 대상 의 방법 으로 Statement 대상 인 스 턴 스 를 만 들 고 표준 SQL 문 구 를 실행 하여 데이터 베이스, 표 에 대해 관련 작업 을 합 니 다. / / /    4. 돌아 온 결 과 는 ResultSet 클래스 로 처리 합 니 다.
이것 은 my sql 데이터 베 이 스 를 연결 하 는 예제 입 니 다.
import java.sql.*;

public class DBHelper {
	
	Statement sql_statement;
	Connection conn;
	
	public Connection getConnection() {
		try{
			//   :  MySQL JDBC   
			Class.forName("com.mysql.jdbc.Driver");
			//     url,   MySQL       ,  ;    :trade
			String url = "jdbc:mysql://localhost:3306/trade"; 
			String username = "root";
			String password = "fenghuoedu";
			//   :   MySQL          
			Connection conn = DriverManager.getConnection(url, username, password);
			return conn;
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}
	
	public boolean insert(String name,String password){
		try {
			sql_statement.executeUpdate("insert users (name,password) values('" + name 
					+ "', '" + password + "');");
//			sql_statement.executeUpdate("INSERT INTO users VALUES('nihao','21');");
			return true;
		} catch (SQLException e) {
			e.printStackTrace();
			return false;
		}
	}
	public void stop() throws SQLException{
		//       
		sql_statement.close();
		conn.close();
	}
	public DBHelper(){
		try {
			//   :       con, con  Statement      sql_statement
			conn = getConnection();
			sql_statement = conn.createStatement();
			//   :    , ResultSet    ,       			
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		new DBHelper();
	}

	public boolean query(String name,String password) throws Exception {
		String query = "select * from users where name = '" + name + "';";
		ResultSet result = sql_statement.executeQuery(query);
		while (result.next()) {
			String mPassword = result.getString("password");
			if(mPassword.equals(password)){
				return true;
			}
			//         
			System.out.println(name + "  " + password);
		}
		return false;
	}

	//   ,         
	public boolean nameUsed(String name) throws SQLException {
		String query = "select * from users where name = '" + name + "';";
		ResultSet result = sql_statement.executeQuery(query);
		if(result.next()){  //   ,     
			return true;
		}
		return false;
	}
}






여기에 statement 의 몇 가지 방법의 사용 을 말 합 니 다.
1. 데이터 베 이 스 를 조회 할 때 stmt. executeQuery (sql) 를 직접 사용 하여 결 과 를 resultSet 결과 집합 으로 되 돌려 줍 니 다.그리고 결과 집합 을 조작 하면 됩 니 다.
2. 데이터 베 이 스 를 삭 제 했 을 때 stmt. executeUpdate (sql) 를 사용 합 니 다.  주어진 SQL 문 구 를 실행 합 니 다. 이 문 구 는 INSERT, UPDATE 또는 DELETE 문 구 를 사용 하거나 그 어떠한 내용 의 SQL 문 구 를 되 돌려 주지 않 을 수 있 습 니 다 (예 를 들 어 SQL DDL 문).
3. stmt. execute (sql) 반환 값 은 boolean 이 고 첫 번 째 결과 가 ResultSet 대상 이면 되 돌려 줍 니 다 true.업데이트 계수 나 결과 가 없 으 면 되 돌려 줍 니 다 false( true, false), , 。검색 작업 을 수행 할 때 다음 과 같이 해 야 합 니 다:
	if(sql_statement.execute(query)){
			ResultSet resultSet = sql_statement.getResultSet();
		}

좋은 웹페이지 즐겨찾기