Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 빈즈
- session.setAttribute
- 영감
- session.getAttribute
- 자바빈즈
- 파일 호출
- 향상된 for문
- 미래직장
- 버리자
- 페이지 이동
- 로그인화면
- 페이지이동
- scanner
- opener
- Import
- BEANS
- 팝업창
- target
- Alert
- \
- iframe
- 데이터사이언스
- 파일호출
- session.removeAttribute
- static
- "
- 동기부여
- 동기 부여
- javaBeans
- ;
Archives
- Today
- Total
갈림길 이정표
[java] DB 접속 메소드 통해 프레임 창에 띄우기 본문
package pack1;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Dbtest3GUI extends JFrame implements ActionListener{
JButton btnA = new JButton("전체");
JButton btnB = new JButton("남자");
JButton btnC = new JButton("여자");
JTextArea txtResult = new JTextArea();
Connection conn;
Statement stmt;
ResultSet rs;
public Dbtest3GUI() {
//sangdata를 Frame으로 출력
setTitle("고객 출력");
layInit(); //레이아웃 디자인
accDb(); //DB 접속
setBounds(300, 300, 300, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void layInit() {
JPanel panel = new JPanel(); //기본값 : flow layout
panel.add(btnA);
panel.add(btnB);
panel.add(btnC);
txtResult.setEditable(false); //false = read Only
JScrollPane scrollpane = new JScrollPane(txtResult);
add("North", panel);
add("Center", scrollpane);
btnA.addActionListener(this);
btnB.addActionListener(this);
btnC.addActionListener(this);
}
private void accDb() {
try {
Class.forName("org.mariadb.jdbc.Driver"); //딱 한번 연결 (필요할 때만 연결해줘야 돼)
} catch (Exception e) {
System.out.println("err: " + e);
}
}
@Override
public void actionPerformed(ActionEvent e) {
// System.out.println("a");
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "369369");
stmt = conn.createStatement();
String sql = "SELECT gogek_no, gogek_name, gogek_jumin FROM gogek";
if(e.getSource() == btnA) {
// System.out.println("전체");
} else if(e.getSource() == btnB) {
// System.out.println("남");
sql += " WHERE gogek_jumin like '%-1%'"; //SUBSTR(gogek_jumin,8,1)=1 해도 됨
// 한번 띄어쓰기! (SQL문에서 인식 하려면 띄어쓰기 중요)
} else if(e.getSource() == btnC) {
// System.out.println("여");
sql += " WHERE gogek_jumin like '%-2%'"; //like 문자열 비교
}
// System.out.println(sql); //[중요!] (java 기능 수행 전) SQL문 확인
txtResult.setText(""); //또는 = null [초기화 작업 - 버튼 누를 때마다 지움]
int count = 0;
rs = stmt.executeQuery(sql);
txtResult.setText("고객번호\t고객명\t주민번호\n");
while(rs.next()) {
// System.out.println(rs.getString(1));
String ss = rs.getString("gogek_no") + "\t" +
rs.getString("gogek_name") + "\t" +
rs.getString("gogek_jumin") + "\n";
txtResult.append(ss);
count += 1;
}
txtResult.append("인원수 : " + count + "명");
} catch (Exception e2) {
System.out.println("actionPerformed err : " + e2);
} finally {
try {
if (rs != null)
rs.close();
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (conn != null)
conn.close(); //DB 연결 끊어 버려
} catch (Exception e3) {
}
}
}
public static void main(String[] args) {
new Dbtest3GUI();
}
}
'Programming Language > Java 마스터하기(feat. 이것이 자바다)' 카테고리의 다른 글
[java] (problem) DB 레코드 자유 읽기 및 참조 출력 (0) | 2020.08.05 |
---|---|
[java] DB 역행, 첫행, 마지막행 레코드 읽기 (0) | 2020.08.05 |
[java] DB CRUD (0) | 2020.08.04 |
[java] DB driver load, DB 연결, 자료 읽기 (0) | 2020.08.04 |
[9. 중첩 클래스와 중첩 인터페이스] (0) | 2020.07.24 |
Comments