public class Test288 { public static void main( String[] args ) throws Exception { Class.forName("org.mariadb.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:mariadb://...", "...", "..."); // cafe24 의 DB서버의 IP, 아이디, 비밀번호 Statement stmt = conn.createStatement(); // int r = stmt.executeUpdate("DELETE FROM test01_T"); System.out.println( r ); // stmt.close(); conn.close(); } }
int executeUpdate
의 리턴값은 변경된 레코드의 갯수를 의미한다.
INSERT DELETE UPDATE
문장을 실행시킬 때 사용한다.
public class Test289 { public static void main( String[] args ) throws Exception { Class.forName("org.mariadb.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mariadb://...", "...", "..."); Statement stmt = conn.createStatement(); // ResultSet rs = stmt.executeQuery("SELECT * FROM test01_T"); while( rs.next() ){ int no = rs.getInt("no"); String data = rs.getString("data"); System.out.println( no + "," + data ); } rs.close(); stmt.close(); conn.close(); } }
int no = rs.getInt( 1 );
String data = rs.getString( 2 );
ResultSet executeQuery
: SELECT 할때 사용한다.
rs.getInt("no")
: 현재 flag 가 가리키는 가로 , no 에 해당하는 세로 , 교차점의 값을 int 로 리턴한다
rs.getString("data")
: 교차점의 값을 String 형태로 리턴한다.
class Test01DTO { // 멤버변수는 절대 public 하지 않게 한다. // no 필드와 매핑되는 property private Integer no = null; public Integer getNo() { return no; } public void setNo( Integer i ) { this.no = i; } // data 필드와 매핑되는 property private String data = null; public String getData() { return data; } public void setData( String i ) { this.data = i; } } // public class Test291 { public static void main( String[] args ) throws Exception { Class.forName("org.mariadb.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mariadb://...", "...", "..."); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM test01_T"); // List<Test01DTO> ls = new ArrayList<Test01DTO>(); while( rs.next() ){ // 레코드 하나와 매핑될 수 있도록 인스턴스를 생성 ( 레코드는 인스턴스에 매핑 ) Test01DTO dto = new Test01DTO(); dto.setNo( rs.getInt("no") ); dto.setData( rs.getString("data") ); ls.add( dto ); } rs.close(); stmt.close(); conn.close(); /* close() 이전에 데이터를 미리 ArrayList 에 옮겨 놓았으니 느긋하게 사용가능 */ for( Test01DTO dto : ls ) { System.out.println( dto.getNo() + "," + dto.getData() ); } } }
O-R Mapping 규칙
Value Object
, DTO Data Transfer Object
)property
getter
: get + 멤버변수명(첫글자를 대문자로) + 변수와 같은 자료형의 리턴타입 + 매개변수 없음setter
: set + 멤버변수명(첫글자를 대문자로) + void 리턴타입 + 매개변수는 변수와 같은 자료형