JAVA에서 MySQL의 데이터를 연결하는데 이제 무슨 목적으로 연결하냐가 중요한 관건이죠. 혹시 JAVA에 있는 내용을 MYSQL의 테이블이나 값에 입력할 것인지, 수정할 것인지, 삭제할 것인지 등이 중요한데요. 오늘은 insert를 이용해서, 데이터를 연결해서, 값을 입력하는 것까지 보도록 하겠습니다.
서론 : 실습을 위해 MySQL에서 테이블 생성하기
MySQL에 테이블을 생성해줍니다. 저는 생성할 때 "만일 똑같은 테이블명이 있다면 생성하지 마라"라는 의미로 if not exists를 주고 생성해 보았습니다. 그리고 문자타입에서는 각각의 공간을 주고, 전체조회를 할 수 있게끔 select로 마무리 지어줍니다. 저는 employee 테이블을 생성하였습니다.
본론 : 테이블 생성과 입력의 혼합단계
1.MySQL 테이블 생성해놓기
<<<<<<<<<MySQL 테이블 코드>>>>>>>
create table if not exists Employee(
name varchar(30),
age int,
wei int,
hei int,
salary int,
dept varchar(30)
);
desc Employee;
select * from Employee;
그리고 이제 Java에서 슬기로운 의사생활에 나온 분들을 입력할 텐데요. 이전에 기본적으로 데이터베이스 연결을 위한 과정을 차례대로 해줍니다.
2023.10.30 - [JAVA] - JAVA에서 MySQL의 데이터를 연결하자 #1 Connection
JAVA에서 MySQL의 데이터를 연결하자 #1 Connection
JAVA에서 작업을 끝내고 MySQL에 데이터를 연결하는 방법은 조금 복잡해 보이지만, 코드 형식만 잘 파악한다면, 쉽게 연결할 수 있을 것 같는데요, JAVA의 코드를 이용해 MySQL의 데이터를 연결하는
154mvi.1lia.com
하지만 이전과는 조금 다른 것이 있다면 이번에는 PrepareStatement을 사용할 것인데요. PreparedStatement는 변수가 들어갈 자리에 "?"을 사용해 줌으로써 자바에서 입력한 값이, MySQL에도 가져갈 수 있도록 도와줍니다.
try catch문부터 작성해 보도록 할게요. 그 위의 코드가 궁금하시다면 '데이터를 연결하자 #1'를 참고해 주세요
2. connection를 연결하고, try문(Excpetion e와 printStackTrace 작성한 후 if문 작성하기
try {
if (con != null) {
PreparedStatement pt= null;
try문을 반복합니다. 하지만 이번엔 if문을 이용해서 'con(커넥션의 변수)이 값이 없다면 아래의 코드를 실행하라'라는 의미로 사용되는데요. 이때 PreparedStatement pt는 '아직' 값이 없다는 의미로 사용됩니다.
3. 문자열로 반환받기 위해 String 변수를 작성해 준 후 테이블에 추가할 변수를 "?"으로 설정하기
아래와 같은 코드를 작성한 후 입력 값을 입력해 준다면 비교적 손쉽게 값을 입력할 수 있습니다.
String sql =
"insert into Employee values(?,?,?,?,?,?)";
결론 : 코드 정리
그럼 마지막으로 이 코드를 다시 정리해 보겠습니다. 처음에 MySQL에 입력했던 변수의 순서는 이름, 나이, 몸무게, 키, 급여, 부서였죠? 그럼 아래의 코드도 똑같이 순서대로 입력해 줍니다. 이 코드의 아쉬운 점이 있다면, 이 코드는 "순서대로" 기입해 줘야만 입력받을 수 있다는 점이 아닐까 싶기도 합니다.
import java.sql.*;
public class InsertTest {
public static void main(String[] args) {
Connection con = DBUtil.getMySQLConnection();
try {
if (con != null) {
PreparedStatement pt= null;
String sql =
"insert into Employee values(?,?,?,?,?,?)";
String name = "안정원";
pt.setString(1,name);
pt.setInt(2, 20);
pt.setInt(3, 60);
pt.setInt(4, 182);
pt.setInt(5, 1000);
pt.setString(6,"소아외과");
pt.executeUpdate();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
'JAVA' 카테고리의 다른 글
ArrayList (1) : 제네릭기법의 특징과 ArrayList 의 특징 (0) | 2023.11.06 |
---|---|
JAVA에서 MySQL의 데이터를 연결하자 #1 Connection (0) | 2023.10.30 |
그래픽을 활용한 자바 : GUI 체크박스 만들기와 그룹의 생성 (1) | 2023.10.26 |
그래픽을 활용한 자바 : GUI 창 위치와 크기 설정하기 (1) | 2023.10.26 |
댓글