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 | 31 |
Tags
- session.getAttribute
- session.removeAttribute
- Alert
- 영감
- 버리자
- 동기 부여
- iframe
- 페이지 이동
- 빈즈
- scanner
- 자바빈즈
- session.setAttribute
- opener
- 동기부여
- ;
- 파일호출
- javaBeans
- 로그인화면
- \
- "
- 미래직장
- target
- Import
- 파일 호출
- 페이지이동
- 팝업창
- BEANS
- 향상된 for문
- 데이터사이언스
- static
Archives
- Today
- Total
갈림길 이정표
[java] MVC (Model View Controller) 본문
Programming Language/Java 마스터하기(feat. 이것이 자바다)
[java] MVC (Model View Controller)
이몽뇽 2020. 8. 7. 08:50package pack1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class DbTest7Table extends JFrame{
//(!) 접근 지정자 쓰기 (!)
String [][] datas = new String[0][5];
String [] title = {"코드","상품명","수량","단가","금액"};
DefaultTableModel model; //model
JTable table; //MVC(Model View Controller) 패턴 사용 - viewer(보여주는 역할)
JLabel lblCount;
Connection conn;
PreparedStatement pstmt;
ResultSet rs;
public DbTest7Table() {
setTitle("테이블 연습");
layInit();
accDb();
setBounds(300, 300, 300, 250);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void layInit() {
model = new DefaultTableModel(datas, title); //데이터는 model이 갖고 있음 (데이터, 칼럼제목)
table = new JTable(model); //데이터 보여줄 거임 (viewer)
JScrollPane scroll = new JScrollPane(table); //table에 스크롤 장착! (데이터 양이 많을 때)
lblCount = new JLabel("건수: 0");
add("Center", scroll);
add("South", lblCount);
}
private void accDb() {
try {
Class.forName("org.mariadb.jdbc.Driver"); //mariadb-java-client-1.3.6.jar의 Driver class 사용
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "369369");
pstmt = conn.prepareStatement("SELECT * FROM sangdata");
rs = pstmt.executeQuery();
int count = 0;
while(rs.next()) {
String code = rs.getString("code");
String sang = rs.getString("sang");
String su = rs.getString("su");
String dan = rs.getString("dan");
int price = rs.getInt("su") * rs.getInt("dan");
String [] temp = {code, sang, su, dan, Integer.toString(price)}; //모든 데이터 타입이 같아야 함
model.addRow(temp);
count++;
}
lblCount.setText("건수: " + count);
} catch (Exception e) { //프로그래머를 위한 에러 메세지
System.out.println("accDb err: " + e);
} finally {
try {
if(rs != null) rs.close();
if(pstmt != null) pstmt.close();
if(conn != null) conn.close();
} catch (Exception e2) {
}
}
}
public static void main(String[] args) {
new DbTest7Table();
}
}
'Programming Language > Java 마스터하기(feat. 이것이 자바다)' 카테고리의 다른 글
[java] MongoDB 구동 및 java에서 불러오기 (feat. CRUD) (0) | 2020.08.10 |
---|---|
[java] 람다식 표현 (0) | 2020.08.07 |
[java] (problem) DB Prepared Statement (0) | 2020.08.05 |
[java] DB PreparedStatement (선처리 방식) (0) | 2020.08.05 |
[java] DB Statement.execute = boolean type (0) | 2020.08.05 |
Comments