MySQL(8.0 version) 사용
https://dev.mysql.com/downloads/mysql/
MySQL 8.0 다운로드 사이트
HeidiSQL(데이터베이스 도구)
https://www.heidisql.com/download.php
HeidiSQL 다운로드 사이트
우편번호 DB 다운
- 우정사업본부 -> 우편번호찾기 -> 우편번호 내려받기(DB)
- 다음 -> 우편번호 서비스(사이트)
위 경로를 통해 우편변호 DB를 다운받거나 사용할 수 있음.






Excute -> Next



cancel 누르기


설치 취소후 다시 다운로드 파일 클릭

add 버튼 클릭

next 클릭

excute

visual 다운 안받았으면 visual 다운 받기


Excute -> Next



MySQL Root Password: 1234
Repeat Password: 1234
next 누르기

체크하거나 안해도 상관없음






다운로드 완료


Password: 1234 누를시 db접속 완료

각종 명령어를 통해 db 사용








설치

신규 버튼 누르기

암호 : 1234 -> 열기


확인

세션관리자 -> 데이터베이스 mydb
/*테이블 생성*/
CREATE TABLE tblEx1(
id INT ,
name CHAR(10),
pwd CHAR(10),
adds CHAR(10)
)
SELECT * FROM tblex1;
INSERT INTO tblex1 VALUES(1, '홍길동', '1234', '서울')
INSERT INTO tblex1 VALUES(2, '장동건', '1234', '서울');
INSERT INTO tblex1 VALUES(3, '강호동', '1234', '서울');
UPDATE tblex1 SET NAME = '홍길자' WHERE id = 1
DELETE FROM tblex1 WHERE id = 2;
/*primart key ㅣ unique, auto_increment(1,1) : 자동증가 */
CREATE TABLE tblEx2(
id INT PRIMARY KEY AUTO_INCREMENT,/*PRIMARY 중복값 허용 불가*/
NAME CHAR(10) NOT NULL,
pwd CHAR(10)
)
SELECT * FROM tblex2;
INSERT tblex2 (NAME,pwd) VALUES('aaa', '1234');
INSERT tblex2 (pwd) VALUES('1234');
INSERT tblex2 (name) VALUES('bbb');
UPDATE tblex2 SET pwd = '1234' WHERE id = 2;
DELETE FROM tblex2 WHERE id = 1;

1. 프로젝트 -> Properties -> mysql-connector-j-8.0.32.jar 파일 추가

Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = null;
try {
con = pool.getConnection();
sql = "";
pstmt = con.prepareStatement(sql);
rs = pstmt.executeQuery();
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.freeConnection(con, pstmt, rs);
}
return ;
db1 템플릿

Connection con = null;
PreparedStatement pstmt = null;
String sql = null;
try {
con = pool.getConnection();
sql = "";
pstmt = con.prepareStatement(sql);
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.freeConnection(con, pstmt);
}
return ;
db2 템플릿
package member;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.List;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ZipcodeFrame extends MFrame implements ActionListener {
JLabel label;
JButton searchBtn, selectBtn;
List list;
TextField tf;
JPanel p1, p2;
MemberMgr mgr;
DialogBox err;
public ZipcodeFrame() {
super(300, 500);
setTitle("ZipcodeFrame");
mgr = new MemberMgr();
p1 = new JPanel();
p1.setBackground(Color.LIGHT_GRAY);
p1.add(label = new JLabel("도로명 : ", label.CENTER));
p1.add(tf = new TextField("밤고개로", 15));
p1.add(searchBtn = new JButton("검색"));
tf.addActionListener(this);
searchBtn.addActionListener(this);
//////////////////////////////////////
list = new List();
list.addActionListener(this);
//////////////////////////////////////
p2 = new JPanel();
p2.add(selectBtn = new JButton("선택"));
selectBtn.addActionListener(this);
p2.setBackground(Color.LIGHT_GRAY);
add(p1, BorderLayout.NORTH);
add(list, BorderLayout.CENTER);
add(p2, BorderLayout.SOUTH);
tf.requestFocus();
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
if (obj == tf || obj == searchBtn) {
if (list.getItemCount() != 0)
list.removeAll();
Vector<ZipcodeBean> vlist = mgr.zipcodeSearch(tf.getText());
// System.out.println(vlist.size());
if (vlist.isEmpty()) {
if (err == null)
err = new DialogBox(this, "검색 결과가 없습니다", "알림");
else
err.setVisible(true);
} else {
for (int i = 0; i < vlist.size(); i++) {
ZipcodeBean bean = vlist.get(i);
String str = bean.getZipcode() + " ";
str += bean.getArea1() + " ";
str += bean.getArea2() + " ";
str += bean.getArea3() + " ";
list.add(str);
}
}
} else if (obj == list) {
// 더블클릭하면 호출한 Frame 으로 주소 전달
}
}
public static void main(String[] args) {
new ZipcodeFrame();
}
}

db 적용 예제