본문 바로가기

Program/JAVA

JDBC, 쿼리문(Query)

22.07.12-JDBC, 쿼리문(Query)

IP 주소 확인


netstate -an : 연결가능한 포트나 주로를 확인

DB 저장 요령


  • 속성을 저장할때 타입을 일정하게 하는 것이 JAVA 와 연결할때 더 편리하다.

mysql 관련


MySQL :: MySQL Documentation

JDBC


운영체제를 Platform independent 선택후

jar 파일 import

코드


package jdbc_package;

import java.sql.*;

public class jdbc_play {
    public static void main(String[] args) {
        Connection con = null;

        String server = "localhost:3306";
        String database = "jdbc_db";
        String user_name = "root";
        String password = "";

        //드라이버 로딩
        try{
            Class.forName("com.mysql.cj.jdbc.Driver");
        }catch (ClassNotFoundException e ){
            System.err.println("JDBC err");
            e.printStackTrace();
        }
//연결
        try{
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sample","root","");

            //jdbc 를 이용해서 어떤 작업(저장,검색,삭제,수정을 실행하는 부분
            //jdbc는 프리페어드라라는 기능을 사용할 수 있음(Prepared)
            //이 기능은 SQL명령어에서 특정한 부분 (데이터가 들어가는)을 변수처리한다음, 나중에 처리하는 방식
            String str = "INSERT INTO jdbc_db(name,id,pass) VALUES (?,?,?)";
            PreparedStatement p_stmt;
            p_stmt = con.prepareStatement(str);

            p_stmt.setString(1,"LEE");
            p_stmt.setString(2,"admin");
            p_stmt.setString(3,"17171");

            //서버로 SQL 명령어 전송
            p_stmt.execute();

            System.out.println("success");
        }catch (SQLException e){
            System.err.println("con err");
            e.printStackTrace();
        }
////해제
//        try{
//            if(con != null){
//                con.close();
//            }
//        }catch (SQLException e){
//
//        }

    }
}

Member_Project_DB

package MemberPackage;

import java.io.Serializable;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class MemberInfo_Class implements Serializable {
   String m_name, m_phone,m_id,m_pw;
    public MemberInfo_Class() {

    }

    public String getM_name() {
        return m_name;
    }

    public void setM_name(String m_name) {
        this.m_name = m_name;
    }

    public String getM_phone() {
        return m_phone;
    }

    public void setM_phone(String m_phone) {
        this.m_phone = m_phone;
    }

    public String getM_id() {
        return m_id;
    }

    public void setM_id(String m_id) {
        this.m_id = m_id;
    }

    public String getM_pw() {
        return m_pw;
    }

    public void setM_pw(String m_pw) {
        this.m_pw = m_pw;
    }

    public void putM_name(){
        System.out.println(m_name);
    }
    public void putM_id(){
        System.out.println(m_id);
    }
    public void putM_phone(){
        System.out.println(m_phone);
    }
    public void putM_pw(){
        System.out.println(m_pw);
    }

    void insertSQL(){
        Connection con = null;
        try{
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/member_db","root","");
            String str = "INSERT INTO member_t(m_name,m_phone,m_id,m_pw) VALUES (?,?,?,?)";
            PreparedStatement p_stmt;
            p_stmt = con.prepareStatement(str);

            p_stmt.setString(1,m_name);
            p_stmt.setString(2,m_phone);
            p_stmt.setString(3,m_id);
            p_stmt.setString(4,m_pw);

            //서버로 SQL 명령어 전송
            p_stmt.execute();

            System.out.println("success");
        }catch (SQLException e){
            System.err.println("con err");
            e.printStackTrace();
        }

        try{
            if(con != null){
                con.close();
            }
        }catch (SQLException e){

        }
    }
    }
}
package MemberPackage;

import java.io.*;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Scanner;

public class MemberInfo_Play {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
      Scanner input = new Scanner(System.in);
      MemberInfo_Class memberInfo = new MemberInfo_Class();

        //메뉴 구성
        System.out.println("menu");
        System.out.println("===================================================");
        System.out.println("1. info input ");
        System.out.println("2. Delete info ");
        System.out.println("3. Print MemberPackage.Member ");
        System.out.println("==================================================");

        while(true){
            switch (Integer.parseInt(input.nextLine())){
                case 1 :
                    System.out.print("Enter name : ");
                    memberInfo.setM_name(input.nextLine());

                    System.out.print("Enter phone : ");
                    memberInfo.setM_phone(input.nextLine());

                    System.out.print("Enter id : ");
                    memberInfo.setM_id(input.nextLine());

                    System.out.print("Enter pw : ");
                    memberInfo.setM_pw(input.nextLine());

                    memberInfo.insertSQL();
                    break;
                case 2:

                    break;
                case 3 :
                    break;
                default:
                    System.err.println("Error");
                    continue;
            }
        }
    }
}

INSERT 문 (ResultSet)


https://m.blog.naver.com/hansoo0724/222630461953

SELECT문을 사용할때 메소드

Untitled

SELECT 문을 사용하면 ResultSet으로 반환 된다.

void searchSQL(String input){
        Connection con = null;
        ResultSet rs =null;
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/member_db","root","");

            String str = "SELECT * FROM member_t WHERE m_name =?";
            PreparedStatement p_stmt;
            p_stmt = con.prepareStatement(str);

            p_stmt.setString(1,input);

            rs = p_stmt.executeQuery();
            while(rs.next()){
//                인덱스가 1부터 시작
                System.out.println("name :"+rs.getString(1)+"\n"+
                        "phone : "+rs.getString(2)+"\n"+
                        "id : "+rs.getString(3)+"\n"+
                        "pw : "+rs.getString(4)
                );
            }

        } catch (SQLException e) {
            System.err.println("SQL error");
            e.printStackTrace();
        }
    }

Delete 문


package MemberPackage;

import java.io.Serializable;
import java.sql.*;

public class MemberInfo_Class implements Serializable {
   String m_name, m_phone,m_id,m_pw;
    public MemberInfo_Class() {

    }

    public String getM_name() {
        return m_name;
    }

    public void setM_name(String m_name) {
        this.m_name = m_name;
    }

    public String getM_phone() {
        return m_phone;
    }

    public void setM_phone(String m_phone) {
        this.m_phone = m_phone;
    }

    public String getM_id() {
        return m_id;
    }

    public void setM_id(String m_id) {
        this.m_id = m_id;
    }

    public String getM_pw() {
        return m_pw;
    }

    public void setM_pw(String m_pw) {
        this.m_pw = m_pw;
    }

    public void putM_name(){
        System.out.println(m_name);
    }
    public void putM_id(){
        System.out.println(m_id);
    }
    public void putM_phone(){
        System.out.println(m_phone);
    }
    public void putM_pw(){
        System.out.println(m_pw);
    }

    void insertSQL(){
        Connection con = null;
        try{
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/member_db","root","");
            String str = "INSERT INTO member_t(m_name,m_phone,m_id,m_pw) VALUES (?,?,?,?)";
            PreparedStatement p_stmt;
            p_stmt = con.prepareStatement(str);

            p_stmt.setString(1,m_name);
            p_stmt.setString(2,m_phone);
            p_stmt.setString(3,m_id);
            p_stmt.setString(4,m_pw);

            //서버로 SQL 명령어 전송
            p_stmt.execute();

            System.out.println("success");
        }catch (SQLException e){
            System.err.println("con err");
            e.printStackTrace();
        }

        try{
            if(con != null){
                con.close();
            }
        }catch (SQLException e){

        }
    }

    void searchSQL(String input){
        Connection con = null;
        ResultSet rs =null;
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/member_db","root","");

            String str = "SELECT * FROM member_t WHERE m_name =?";
            PreparedStatement p_stmt;
            p_stmt = con.prepareStatement(str);

            p_stmt.setString(1,input);

            rs = p_stmt.executeQuery();
            while(rs.next()){
//                인덱스가 1부터 시작
                System.out.println("name :"+rs.getString(1)+"\n"+
                        "phone : "+rs.getString(2)+"\n"+
                        "id : "+rs.getString(3)+"\n"+
                        "pw : "+rs.getString(4)
                );
            }

            System.out.println("success");
        }catch (SQLException e){
            System.err.println("con err");
            e.printStackTrace();
        }

        try{
            if(con != null){
                con.close();
            }
        }catch (SQLException e){

        }
    }
    void deleteSQL(String input){
        Connection con =null;
        try{
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/member_db","root","");
            String str = "DELETE FROM member_t WHERE m_name = ?";
            PreparedStatement p_stmt;
            p_stmt = con.prepareStatement(str);
            p_stmt.setString(1, input);
            p_stmt.execute();

            System.out.println("success");
        }catch (SQLException e){
            System.err.println("con err");
            e.printStackTrace();
        }

        try{
            if(con != null){
                con.close();
            }
        }catch (SQLException e){

        }
    }
}
package MemberPackage;

import java.io.*;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Scanner;

public class MemberInfo_Play {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
      Scanner input = new Scanner(System.in);
      MemberInfo_Class memberInfo = new MemberInfo_Class();

        //메뉴 구성
        System.out.println("menu");
        System.out.println("===================================================");
        System.out.println("1. info input ");
        System.out.println("2. search info ");
        System.out.println("3. delete info ");
        System.out.println("==================================================");

        while(true){
            switch (Integer.parseInt(input.nextLine())){
                case 1 :
                    System.out.print("Enter name : ");
                    memberInfo.setM_name(input.nextLine());

                    System.out.print("Enter phone : ");
                    memberInfo.setM_phone(input.nextLine());

                    System.out.print("Enter id : ");
                    memberInfo.setM_id(input.nextLine());

                    System.out.print("Enter pw : ");
                    memberInfo.setM_pw(input.nextLine());

                    memberInfo.insertSQL();
                    break;
                case 2:
                    System.out.print("Enter Search name");
                    memberInfo.searchSQL(input.nextLine());
                    break;
                case 3 :
                    System.out.print("Enter Delete name : ");
                    memberInfo.deleteSQL(input.nextLine());
                    break;
                default:
                    System.err.println("Error");
                    continue;
            }
        }
    }
}