Back-end

jdbc crud #1 insert

Hdeveloper 2022. 4. 27. 20:21
728x90

jdbc는 (java database connectivity) 의 줄임말이다. jdbc는 자바로 데이터베이스를 접속할수있게 하는 자바 api이다.

첫번째로 밑에있는 주소로 가서 mysql을 다운받는다. 사용자가 쓰고있는 운영체제로 다운을 받아주면된다.

https://downloads.mysql.com/archives/installer/

 

MySQL :: Download MySQL Installer (Archived Versions)

Please note that these are old versions. New releases will have recent bug fixes and features! To download the latest release of MySQL Installer, please visit MySQL Downloads. MySQL open source software is provided under the GPL License.

downloads.mysql.com

그다음으로는 jdbc라이브러리를  사용하기위해서 jdbc  드라이버를 다운받는다.  

https://dev.mysql.com/downloads/connector/j/

 

MySQL :: Download Connector/J

MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7 and 5.6. Please upgrade to MySQL Connector/J 8.0.

dev.mysql.com

 

 

다음으로는 이클립스로 mysql과 연동하는법을 소개하겠다.

이클립스ide에서 패키지를 만들때 라이브러리버튼을 눌러서 다운로드 폴더안에 있는 jdbc드라이버를 Add external jars 버튼을 눌러서 추가해주면 다음과 같은 이미지가 뜬다.

그다음 crud의 개념에 대해서 설명해보겠다. crud라는 것은 create read upadate delete의 약자이며 crud를 활용한 예로는 게시판이 있다. 게시판은 게시글을 만들수 있고,그것을 수정하거나 지울수 있으며, 자기가 쓴글을 읽을수 있다.

CREATE TABLE CUST(
	id VARCHAR(20) PRIMARY KEY,
    pwd VARCHAR(20),
    name VARCHAR(30)
);

CREATE TABLE ITEM(
	id int PRIMARY KEY,
	name VARCHAR(30),
    price FLOAT
);



-- crud
-- create
INSERT INTO CUST VALUES('id01','pwd01','이말숙');
INSERT INTO CUST VALUES('id02','pwd02','이말숙');
-- update
UPDATE CUST SET pwd='1111',name='홍말숙' WHERE id='id01';
-- delete
DELETE FROM CUST WHERE id='id02';
-- read
SELECT*FROM CUST;



SELECT *FROM CUST WHERE id='id01';

위 코드는 crud를 작성한 sql구문이다.

다음으로는 이클립스에서 코딩한것으로 mysql에도 데이터를 추가하는 예시를 보여주겠다.

위의 구문을 sql 실행보면 다음과 같이 테이블에 뜬다.

그럼이제 위의 테이블에서 새로운 id와 pwd 그리고 이름을 이클립스로 추가해보겠다.

package cust;

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

public class InsertCust {

	public static void main(String[] args) {
		//JDBC(java database connectivity) programming
		
		//변수 선언
		Connection con =null;
		PreparedStatement ps =null;
		String sql= "INSERT INTO CUST VALUES(?,?,?)";
		
		//MySQL JDBC Driver Loading
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
			System.out.println("Mysql jdbc driver loading...");
		} catch (ClassNotFoundException e) {
			
			e.printStackTrace();
		}
		//MYSQL connect
		String url ="jdbc:mysql://192.168.200.131:3306/shopdb?serverTimezone=Asia/Seoul";  //127.0.0.1  본인 ip주소
		String mid ="admin1";
		String mpwd ="111111";
		try {
			con =DriverManager.getConnection(url,mid,mpwd);
			System.out.println("Mysql jdbc driver connected...");
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		//SQL을 이용한 요청
		try {
			ps = con.prepareStatement(sql);
			ps.setString(1, "id36");
			ps.setString(2, "pwd36");
			ps.setString(3, "이지석");
			//요청결과확인
			int result = ps.executeUpdate();
			System.out.println(result);
		} catch (SQLException e) {
			
			e.printStackTrace();
		}finally {
			//close
		  if(ps!=null) {
			  try {
				ps.close();
			} catch (SQLException e) {
				
				e.printStackTrace();
			}
		  }
		  if(con != null) {
			  try {
				con.close();
			} catch (SQLException e) {
				
				e.printStackTrace();
			}
		  }
		}
		//1이 result 됨
		
		
		//MYSQL Close
		
	}

}

위의 코드를 보면  id값과 pwd 그리고 name값을 새로 추가한것을 알수있고 이클립스 콘솔창에는 다음과 같은 결과가뜨면 제대로 들어간것이다. (id에는 id36 pwd에는 pwd36 name에는 이지석이 들어간것을 알수있다.)

그럼mysql에서 데이터 값들이 컬럼에 잘 insert 되었는지 확인해보겠다.

id36컬럼에 잘 들어갔는지만 확인하면 되므로

다음과 같은 sql문으로 확인해보면 다음과 같은 결과가 뜬다

SELECT *FROM CUST WHERE id='id36';

위의 코드와 같이 where 절로 원하는 조건을 설정해서 쿼리문을 실행할수있다.

 

결과화면

 

728x90

'Back-end' 카테고리의 다른 글

자바 배열  (0) 2022.05.08
삼각형 빗변 길이구하기  (0) 2022.05.08
자바 연산자  (0) 2022.04.25
자바 구구단 출력  (0) 2022.04.23
자바 변수,기본타입  (0) 2022.04.23