JAVA/99. ETC
우편번호 검색
날아올라↗↗
2015. 12. 21. 00:36
728x90
반응형
ZipCodeMain.java
- package test.com.zipcode;
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- public class ZipCodeMain {
- public static final String DRIVER_NAME = "oracle.jdbc.driver.OracleDriver";
- public static final String URL = "jdbc:oracle:thin:@localhost:1521:javagroup";
- public static final String USER_ID = "java_project";
- public static final String USER_PWD = "hi123456";
- public Connection getConn() {
- Connection con = null;
- try {
- Class.forName(DRIVER_NAME);
- con = DriverManager.getConnection(URL, USER_ID, USER_PWD);
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return con;
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- ZipCodeMain zm = new ZipCodeMain();
- ZipCodeDAO dao = new ZipCodeDAOImpl();
- ZipcodeVO vo = new ZipcodeVO();
- String addr_String = "영등동";
- int addr_cnt = 0;
- Connection con = zm.getConn();
- ResultSet rs = null;
- ResultSet rs1 = null;
- CallableStatement statement = null;
- try {
- String sql = "call UP_ZIPCODE_SEARCH(?, ?, ?)";
- statement = con.prepareCall(sql);
- statement.setString(1, addr_String);
- statement.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);
- statement.registerOutParameter(3, oracle.jdbc.OracleTypes.NUMBER);
- statement.execute();
- rs = (ResultSet) statement.getObject(2);
- while(rs.next()) {
- System.out.print(rs.getInt("zipcode") + " ");
- System.out.print(rs.getString("sido") + " ");
- System.out.print(rs.getString("sigungu") + " ");
- System.out.println(rs.getString("b_dong_name"));
- }
- System.out.println("결과물수 : " + statement.getInt(3));
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
ZipCodeDAO.java
- package test.com.zipcode;
- import java.util.List;
- public interface ZipCodeDAO {
- public List<ZipcodeVO> search();
- }
ZipCodeDAOImpl.java
- package test.com.zipcode;
- import java.util.List;
- public class ZipCodeDAOImpl implements ZipCodeDAO {
- @Override
- public List<ZipcodeVO> search() {
- // TODO Auto-generated method stub
- return null;
- }
- }
ZipcodeVO.java
- package test.com.zipcode;
- public class ZipcodeVO {
- String search;
- String addr;
- int zipcode;
- public String getSearch() {
- return search;
- }
- public void setSearch(String search) {
- this.search = search;
- }
- public String getAddr() {
- return addr;
- }
- public void setAddr(String addr) {
- this.addr = addr;
- }
- public int getZipcode() {
- return zipcode;
- }
- public void setZipcode(int zipcode) {
- this.zipcode = zipcode;
- }
- }
DB설정
패키지 생성
- CREATE OR REPLACE PACKAGE ZIPCODE_PKG AS
- /* TODO enter package declarations (types, exceptions, methods etc) here */
- type RSLIST IS ref cursor;
- END ZIPCODE_PKG;
프로시저 생성
- CREATE OR REPLACE PROCEDURE UP_ZIPCODE_SEARCH
- (
- ADDR IN VARCHAR2,
- LIST OUT ZIPCODE_PKG.RSLIST,
- CNT OUT NUMBER
- ) AS
- BEGIN
- --전체 검색 데이터 count
- SELECT count(zseq) INTO CNT FROM zipcode WHERE B_dong_name LIKE '%'|| ADDR ||'%';
- --검색 ResultSet 커서에 담기
- OPEN LIST FOR
- SELECT zipcode, sido, sigungu, b_dong_name FROM ZIPCODE WHERE B_DONG_NAME LIKE '%'|| ADDR ||'%';
- END UP_ZIPCODE_SEARCH;
728x90
반응형