필기 자바 DB 도구 클래스 (1)
5137 단어 java.DBUtil
import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ResourceBundle; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; import com.mysql.jdbc.Statement;
/ * 본 종 류 는 데이터베이스 연결 에 사 용 됩 니 다. 본 종 류 를 사용 하면 해당 하 는 매개 변 수 를 입력 하면 데이터 베 이 스 를 편리 하 게 사용 할 수 있 습 니 다.복잡 한 코드 간소화 * 링크 데이터베이스 초기 화 에 필요 한 변수 값 * dbinfo. properties 문서 의 인자 읽 기 * driverclass = com. mysql. jdbc. Driver * url = jdbc:mysql://localhost:3306/day06 * username = root password = root * / public class DBUtil {/ * * * driverclass 변 수 를 설정 합 니 다 (데이터베이스 업 체 가 제공 하 는 클래스)* / private static String driverclass; / / driverclass 변수 설정 / * * url 변수 설정 (데이터베이스 경로 와 라 이브 러 리 이름) * / private static String url; / / url 변수 설정 / * * username 변수 설정 (데이터베이스 로그 인 계 정) * / private static String username; / username 변수 설정 / * * password 변수 설정(데이터베이스 로그 인 계 정의 비밀번호)* / private static String password; / / password 변 수 를 설정 합 니 다 / * * stmt 변 수 를 설정 합 니 다 * / private static Prepared Statement stmt; / / 읽 기 stmt 변 수 를 설정 합 니 다 / * conn 변 수 를 설정 합 니 다 * / 읽 기 conn 변 수 를 설정 합 니 다 / * * * rs 변 수 를 설정 합 니 다 * / private static ResultSets; / / 읽 기 rs 변 수 를 설정 합 니 다.
static {
ResourceBundle rb = ResourceBundle.getBundle("dbinfo");
driverclass = rb.getString("driverclass");
url = rb.getString("url");
username = rb.getString("username");
password = rb.getString("password");
try {
/**
*
*/
//
Class.forName(driverclass);
conn = (Connection) DriverManager.getConnection(url, username,
password);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* ,
* @param conns Connection
* @param stmts PreparedStatement
* @param rss ResultSet
*/
public static void setCSR(Connection conns,PreparedStatement stmts,ResultSet...rss){
conn=conns;
stmt=stmts;
ResultSet[] arr=rss;
for(int i=0;i
/ * * * execute 연결 을 만 들 고 데이터베이스 에 있 는 execute 방법 * @ param sql 로 입력 한 SQL 문 구 를 사용 합 니 다. 다음 문장의 값 은? 대체 * @ param args 는 가 변 적 인 매개 변수 입 니 다. SQL 문 구 를 입력 하 십시오. 매개 변 수 는? 수량 과 같 아야 합 니 다. * @ return 은 boolean 형식 값 * @ throws Exception 으로 이 방법의 이상 * / / execute 연결 을 만 듭 니 다.public boolean execute (String sql, String... args) throws Exception {
Sql(sql, args);
boolean i = stmt.execute();
return i;
}
/ * * * 업데이트 연결 을 만 들 고 데이터베이스 에 있 는 executeUpdate 방법 * @ param sql 에서 입력 한 SQL 문 구 를 사용 합 니 다. 다음 문장의 값 은? 대체 * @ param args 입 니 다. 가 변 적 인 매개 변수 입 니 다. SQL 문 구 를 입력 하 십시오. 매개 변 수 는? 수량 과 같 아야 합 니 다. * @ return 반환 int 수치 유형 * @ throws Exception 처리 이 방법의 이상 * / / 업데이트 만 들 기public int Update (String sql, String... args) 를 연결 하면 Exception {Sql (sql, args) 을 던 집 니 다.
int i = stmt.executeUpdate();
return i;
}
/ * * 클 라 스 가 있 는 매개 변 수 를 만 드 는 값 을 제공 합 니 다. RS 는 가 변 매개 변수 입 니 다. Update 를 사용 할 때 이 변 수 를 닫 을 필요 가 없습니다. * @ param stmt 와 같은 Prepared Statement 대상 * @ param conn 과 같은 연결 대상 * @ param rs 와 같은 ResultSet 대상 입 니 다. 이 매개 변 수 는 가 변 매개 변수 * / / 클 라 스 가 있 는 자원 연결 을 닫 습 니 다. public static void closeAlls(Statement stmt, Connection conn, ResultSet…rs) {
if (rs != null) {
try {
for (int i = 0; i < rs.length; i++)
rs[i].close();
} catch (SQLException e) {
e.printStackTrace();
}
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt = null;
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
/ * * 이 클래스 의 자원 을 닫 습 니 다. RS 는 가 변 매개 변수 입 니 다. Update 를 사용 할 때 이 변 수 를 닫 을 필요 가 없습니다. * stmt 이 클래스 의 Prepared Statement 대상 * conn 이 클래스 의 Connection 대상 * rs 이 클래스 의 ResultSet 대상 입 니 다. 이 매개 변 수 는 가 변 매개 변수 * / / 이 클래스 의 자원 연결 을 닫 습 니 다 public static void closeAll () {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
rs = null;
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
stmt = null;
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn = null;
}
}
}
}