자바 데이터 베 이 스 를 조작 하 는 일반적인 방법 (표 추가 삭제 검사)
16125 단어 자바
이렇게 하면 좋 은 점 이 매우 커서 매번 쓸 필요 가 없다.
01. sql 문장 쓰기
02. 조작 데이터베이스 핸들 가 져 오기
03. 파라미터 설정
04. sql 문 구 를 실행 합 니 다.
05. 조회 라면 값 을 부여 해 야 합 니 다.
이런 복잡 한 조작 들 은 이렇게 한 표 의 첨삭 과 수정 에 대해 조사 하 는 것 이 매우 편리 하 다.
여기 서 제 줄 마다 아주 상세 한 주석 이 있 습 니 다. 진지 하 게 보면 알 수 있 을 것 입 니 다. 그 안에 (반사, jdbc 조작 데이터 베이스, 메타 데이터, 링크, 가 변 인삼, 범 형, 유형 대상 등 일부 용법 을 가 져 왔 습 니 다)
사실 모든 용법 은 그리 어렵 지 않다. 중요 한 것 은 어떻게 사용 하 느 냐, 그리고 조합 하 는 것 이다.
//
public static <T> List<T> query(String sql, Class<T> clazz, Object... param) {
PreparedStatement ps = null;
ResultSet set = null;
List<T> result = null;
//
if (connection == null || connection.isClosed()) {
getConnection();
}
//
ps = connection.prepareStatement(sql);
//
for (int i = 1; i <= param.length; i++) {
ps.setObject(i, param[i - 1]);
}
// sql
set = ps.executeQuery();
while (set.next()) {
// set set
if (result == null) {
result = new ArrayList<T>();
}
// c
// , ,
// , new
Constructor<T> c = clazz.getDeclaredConstructor();
// ( ), ( )
T a = c.newInstance();
// set ( , ), ,
ResultSetMetaData rsmd = set.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
//
// “_” str ( mysql “_” ),
String[] str = rsmd.getColumnName(i).toLowerCase().split("_");
// fieldName
String fieldName = "";
// ( “_” ), java ( ), ,
for (int j = 0; j < str.length; j++) {
// , , ,
if (j != 0) {
str[j] = str[j].substring(0, 1).toUpperCase() + str[j].substring(1);
}
// , ( java , mysql “_” “_” )
fieldName += str[j];
}
// ,
Field f = clazz.getDeclaredField(fieldName);
// ,
f.setAccessible(true);
// ( , ),
f.set(a, set.getObject(fieldName));
//
result.add(a);
}
return result;
}
//
public static int update(String sql, Object... param) {
PreparedStatement ps = null;
int result = 0;
if (connection == null || connection.isClosed()) {
getConnection();
}
//
ps = connection.prepareStatement(sql);
//
for (int i = 1; i <= param.length; i++) {
ps.setObject(i, param[i - 1]);
}
result = ps.executeUpdate();
System.out.println(" , " + result + " !");
return result;
주: 코드 에 이상 을 포착 해 야 합 니 다.
예 를 들 어 내 가 user 표 의 기록 을 다시 찾 으 려 면 그렇게 복잡 한 코드 를 쓸 필요 가 없다.
List users = Database.query("SELECT * FROM user , User.class);
이렇게 하면 user 표 의 모든 기록 을 조회 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.