개발속이야기/Java

jdbc with JTable 예제

스토리지기 2017. 12. 28. 17:34

package com.oraclejava.exam3;


public class Country {

private String countryId;

private String countryName;

private int regionId;

public Country(String countryId, String countryName, int regionId) {

super();

this.countryId = countryId;

this.countryName = countryName;

this.regionId = regionId;

}


public String getCountryId() {

return countryId;

}


public void setCountryId(String countryId) {

this.countryId = countryId;

}


public String getCountryName() {

return countryName;

}


public void setCountryName(String countryName) {

this.countryName = countryName;

}


public int getRegionId() {

return regionId;

}


public void setRegionId(int regionId) {

this.regionId = regionId;

}

}




package com.oraclejava.exam3;


import java.awt.BorderLayout;

import java.awt.Dimension;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;


import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;


public class JaFrm8 extends JFrame {

private static final String[] HEADER = { "국가코드", "국가명", "지역코드" };

public List<Country> countryList(){

List<Country> cList = new ArrayList<>();


try {

// 드라이버로드

Class.forName("oracle.jdbc.OracleDriver");

String url = "jdbc:oracle:thin:@192.168.0.51:1521:xe";

Connection con = DriverManager.getConnection(url, "hr", "hr");

String query = "select * from countries";

Statement st = con.createStatement();

ResultSet rs = st.executeQuery(query);

Country country = null;

while(rs.next()) {

//

country = new Country(rs.getString("country_id"),

rs.getString("country_name"), rs.getInt("region_id"));

cList.add(country);

}

rs.close();

con.close();

}

catch(Exception e) {

//System.out.println(e);

JOptionPane.showMessageDialog(null, e);

}

return cList;

}


public JaFrm8(String sTitle) {

setTitle(sTitle);

setBounds(10,10,370,320);

DefaultTableModel tm = new DefaultTableModel(HEADER, 0);

JTable jTable = new JTable(tm);

JScrollPane jScrollPane = new JScrollPane(jTable);

jScrollPane.setPreferredSize(new Dimension(350, 270));


JPanel jPanel = new JPanel();

jPanel.add(jScrollPane);

add(jPanel, BorderLayout.CENTER);

List<Country> list = countryList();

Object[] data = new Object[3];

for(Country c : list) {

data[0] = c.getCountryId();

data[1] = c.getCountryName();

data[2] = c.getRegionId();

tm.addRow(data);

}

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true); // 마지막에

}


public static void main(String[] args) {

// TODO Auto-generated method stub

JaFrm8 frm = new JaFrm8("Countries");

}

}



'개발속이야기 > Java' 카테고리의 다른 글

JFrame JPanel 두개 예제  (0) 2017.12.29
JFrame Grid 예제  (0) 2017.12.29
jdbc 기본 예제  (0) 2017.12.28
JTable 재정의 예제  (0) 2017.12.28
JTable DefaultTableCellRenderer 예제  (0) 2017.12.28