JDBC - 4. Insert Test

Ⅳ. Insert Test

1. Insert Test

 - 자바를 통해 DB를 추가하는 테스트를 실행

 - SQLyog에 다음과 같이 입력 (테이블을 추가함)

DROP DATABASE IF EXISTS JDBCTest;
CREATE DATABASE JDBCTest;
USE JDBCTest;

CREATE TABLE article (
	id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
	regDate DATETIME NOT NULL,
	updateDate DATETIME NOT NULL,
	title CHAR(100) NOT NULL,
	`body` TEXT NOT NULL
);

INSERT INTO article 
SET regDate = NOW(),
updateDate = NOW(),
title = CONCAT('제목',RAND()),
`body` = CONCAT('내용',RAND());

 

 - sts4에 다음과 같이 입력

    - 연결 성공 시, n열에 적용되었다고 출력

    - String sql 문으로 테이블의 내용을 기입

package exam;

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

public class JDBCInsertTest {
	public static void main(String[] args) {
		Connection conn = null;
		PreparedStatement pstmt = null;

		try {
			Class.forName("com.mysql.jdbc.Driver");
			String url = "jdbc:mysql://127.0.0.1:3306/JDBCTest?useUnicode=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Seoul&useOldAliasMetadataBehavior=true&zeroDateTimeNehavior=convertToNull";

			conn = DriverManager.getConnection(url, "root", "");
			System.out.println("연결 성공!");

			String sql = "INSERT INTO article";
			sql += " SET regDate = NOW(),";
			sql += "updateDate = NOW(),";
			sql += "title = CONCAT('제목',RAND()),";
			sql += "`body` = CONCAT('내용',RAND());";

//			System.out.println(sql);
			pstmt = conn.prepareStatement(sql);

			int affectedRows = pstmt.executeUpdate();

			System.out.println(affectedRows + "열에 적용됨");

		} catch (ClassNotFoundException e) {
			System.out.println("드라이버 로딩 실패");
		} catch (SQLException e) {
			System.out.println("에러: " + e);
		} finally {
			try {
				if (conn != null && !conn.isClosed()) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (pstmt != null && !pstmt.isClosed()) {
					pstmt.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}