테스트 기반으로 JDBC 통해 DB CRUD #1

데이터베이스 생성하기

CREATE DATABASE db_name DEAFAUT CHARCTER SET utf8 COLLATE utf_8general_ci;

 

테이블 생성하기

CREATE TABLE USERS(
    userId		varchar(12) 	NOTNULL,
    password		varchar(12)  	NOTNULL,
    name		varchar(20) 	NOTNULL,
    email		varchar(50), 	NOTNULL,
    
    PRIMARY KEY 		(userId)
);

 

데이터 CREATE

INSERT INTO USERS VALUES('1', 'password', 'nickname', 'email@naver.com');

 

JDBC CONNECTION

  • 자바에서 데이터베이스와 연동을 하기 위해 사용하는 표준
  • DAO(Data Access Object)는 데이터베이스와의 로직을 담당하는 클래스
@Test
public void connection() {
    UserDAO userDao = new UserDAO();
    Connection con = userDao.getConnection();
    assertNotNull(con);
}
public class UserDAO {

	public Connection getConnection() {
    	String url = "jdbc:mysql://localhost::3306/db_name";
        String id = "slipp";
        String pw = "password";
        
        try {
        	Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
	    System.out.println(e.getMessage());
            return null;
        }
        
        return DriverManager.getConnection(url, id, pw);
    }
}

 

JDBC INSERT

public void insert(User user) {
    String sql = "insert into USERS values(?,?,?,?)";
    PreparedStatement pstmt = getConnection().prepareStatement(sql);
    pstmt.setString(1, user.getUserId());
    pstmt.setString(2, user.getPassword());
    pstmt.setString(3, user.getName());
    pstmt.setString(4, user.getEmail());
    
    pstmt.executeUpdate();
}
  • PreparedStatement의 set API의 경우 인덱스가 1부터 시작한다.

댓글



Designed by JB FACTORY