Java while 문 무한 loop 종료
2023. 2. 20. 13:09ㆍJava
프로젝트 내 src 내 javabasic 패키지 내 JdbcEx2.java
package javabasic;
import java.io.*;
import java.sql.*;
public class JdbcEx2 {
Connection con;
Statement stmt;
BufferedReader buf;
String url = "jdbc:oracle:thin:@localhost:1521:orcl";// ORCL 은 전역변수
String user = "scott", pw = "a1234";
// 먼저 생성자
public JdbcEx2() throws Exception {
dbConn();
makeSql();
close();
}
public void dbConn() {
// DB 접속 위해서는 기본적으로 드라이버를 로딩해야. 이때 동적바인딩 변수를 이용.Class.forName임.
try {// 클래스가없을경우대비해서예외문
// OracleDriver를 메모리 로딩 및 DriverManager에 등록
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, user, pw);
System.out.println("접속 성공!!!");
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void makeSql() throws SQLException, IOException {// 키보드로부터 데이타를 받아야흐므로
// new InputStream(System.in) 이부분이 실제 데이타를 받아오는 노드스트림이 되는거구
// new BufferedReader는 그 노드스트림을 연결해주는 일종의 브릿지.버퍼드리더를 만들어 데이타를 받음
buf = new BufferedReader(new InputStreamReader(System.in));
String sql = "";
System.out.println("** SQL문 입력하세요...");
stmt = con.createStatement();
// 데이타를 키보드로부터 읽어오기
// while 문을 빠져나오려면 SQL 문 입력을 종료하려면 Ctrl + Z 키를 누른다
while ((sql = buf.readLine()) != null) {
int cnt = stmt.executeUpdate(sql.trim());
System.out.println(cnt + "개의 레코드가 수정되었음");
} // while
}// make SQL
public void close() throws Exception {
if (stmt != null)
stmt.close();
if (buf != null)
buf.close();
if (con != null)
con.close();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
new JdbcEx2();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
while 무한루프 문 안에서 빠져나와 종료하려면
키보드 단축키
Ctrl + Z 를 눌러준다.
위 코드를 본다.
makeSql() 메서드 내 while 문에서 SQL 문을 키보드로 입력하게 되는데 SQL 문을 콘솔창에서 입력할 때는 맨 마지막에 ; 기호를 쓰지 않는다
'Java' 카테고리의 다른 글
Java execute(String sql) (0) | 2023.02.20 |
---|---|
Java executeQuery(String sql) (0) | 2023.02.20 |
Java createStatement() (1) | 2023.02.20 |
Java setNull(int parameterIndex, int sqlType) (0) | 2023.02.20 |
Java getBufferSize() (0) | 2023.02.20 |