반응형
java Statement 자바에서 디비 조회
mysql 기준
1. 디비 연결
- 연결 성공시 mysql 연결 ...을 출력한다.
public class DBDataTest {
static String driver = "jdbc:mysql://123.123.123.1:포트/디비명?characterEncoding=utf8";
static String user = "testId";
static String passwd = "testPasswd";
Statement stat = null;
ResultSet rs = null;
private static Connection connectionDB() throws Exception{
System.out.println("mysql 연결 ...");
return DriverManager.getConnection(driver, user, passwd);
}
}
2. 테이블 데이터 조회
- executeUpdate(sql);
int 를 반환해준다(몇개를 등록했는지 insert, update할때주로 사용)
- executeQuery(sql);
ResultSet타입으로 반환해준다(데이터 확인을위해 select할때주로 사용)
public class DBDataTest {
static String driver = "jdbc:mysql://123.123.123.1:포트/디비명?characterEncoding=utf8";
static String user = "testId";
static String passwd = "testPasswd";
Statement stat = null;
ResultSet rs = null;
List<Map<String, String>> resultList = new ArrayList();
private static Connection connectionDB() throws Exception{
System.out.println("mysql 연결 ...");
return DriverManager.getConnection(driver, user, passwd);
}
public List select(Connection conn)throws Exception {
System.out.println("select Start ...");
StringBuffer sb = new StringBuffer();
sb.append("SELECT * ");
sb.append("FROM TestTable");
String sql = sb.toString();
//////////////////////////////////////////////////////////////////////////////////////////
/** 여기서는 *로 조회하지만컬럼이름을 다써주는 것이 좋다. */
String sql = "SELECT ";
sql += "* ";
sql += "FROM TestTable";
///////////////////////////////////////////////////////////////////////////////////////////
/** StringBuffer와 String둘중 하나를 상황에 따라 적절하게 사용할수 있다. */
try {
//Statement객체 생성
stmt = conn.createStatement();
//ResultSet타입으로 반환해준다(데이터 확인을위해 select할때주로 사용)
rs = stmt.executeQuery(sql);
while (rs.next()) {
HashMap<String, String> resultMap = new HashMap();
//형식
//key : 데이터 받을 컬럼명 또는 원하는 이름(보통 vo에 선언했다면 그이른을 사용한다.
//value : 테이블 컬럼명
resultMap.put("test1", rs.getString("test1"));
resultMap.put("test2", rs.getString("test2"));
resultMap.put("test3", rs.getString("test3"));
resultMap.put("test4", rs.getString("test4"));
resultList.add(resultMap);
} catch(Exception e) {
System.out.println("----- select Error -----");
e.printStackTrace();
} finally {
if(rs != null) try{rs.close();}catch(Exception ee){}
if(stmt != null) try{stmt.close();}catch(Exception ee){}
}
System.out.println("select end ...");
return resultList;
}
}
}
3. 테이블 데이터 등록
- executeUpdate(sql);
int 를 반환해준다(몇개를 등록했는지 insert, update할때주로 사용)
- executeQuery(sql);
ResultSet타입으로 반환해준다(데이터 확인을위해 select할때주로 사용)
public class DBDataTest {
static String driver = "jdbc:mysql://123.123.123.1:포트/디비명?characterEncoding=utf8";
static String user = "testId";
static String passwd = "testPasswd";
Statement stat = null;
ResultSet rs = null;
private static Connection connectionDB() throws Exception{
System.out.println("mysql 연결 ...");
return DriverManager.getConnection(driver, user, passwd);
}
public void insert(Connection conn)throws Exception {
System.out.println("INSERT Start ...");
StringBuffer sb = new StringBuffer();
sb.append("INSERT ");
sb.append("test1, test2, test3, test4");
sb.append("'"+값1+"',");
.
.
.
sb.append("'"+값1+"'");
String sql = sb.toString();
//////////////////////////////////////////////////////////////////////////////////////////
String sql = "INSERT ";
sql += "test1, test2, test3, test4";
sql += "VALUES(";
/**
원하는 값을 넣을수있다.
예
sql += "'"+m.get("값1")+"',";
sql += "'"+list.get(0)+"',";
*/
sql += "'"+값1+"',";
sql += "'"+값2+"',";
sql += "'"+값3+"',";
sql += "'"+값4+"'";
sql += ")";
///////////////////////////////////////////////////////////////////////////////////////////
/** StringBuffer와 String둘중 하나를 상황에 따라 적절하게 사용할수 있다. */
try {
//Statement객체 생성
stmt = conn.createStatement();
//int 를 반환해준다(몇개를 등록,수정 했는지 insert, update할때주로 사용)
stmt.executeUpdate(sql);
} catch(Exception e) {
System.out.println("----- INSERT Error -----");
e.printStackTrace();
} finally {
if(stat != null) try{stat.close();}catch(Exception ee){}
}
System.out.println("INSERT end ...");
}
}
반응형
'JAVA' 카테고리의 다른 글
java split작동 안할때 (0) | 2022.11.09 |
---|---|
JAVA split특정문자 자르기 (0) | 2022.10.25 |
JAVA 1초당 1회 출력 (Timer) (0) | 2022.09.23 |
java(자바)에서 alert띄우기 (0) | 2021.10.26 |
자바 에서 session 값 가져오기 (0) | 2021.09.16 |