테스트 기반으로 JDBC 통해 DB CRUD #1
- 우아한테크코스
 - 2021. 3. 26. 15:44
 
데이터베이스 생성하기
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부터 시작한다.
 
'우아한테크코스' 카테고리의 다른 글
| 테스트 기반으로 JDBC 통해 DB CRUD #3 (0) | 2021.03.27 | 
|---|---|
| 테스트 기반으로 JDBC 통해 DB CRUD #2 (0) | 2021.03.27 | 
| [우아한 테크코스 3기]Git은 정말 어려워요 (Rebase vs Merge) (0) | 2021.03.08 | 
| [우아한 테크코스 3기] 한달 회고 - LV1의 반이 지나가 버렸다. (2) | 2021.03.06 | 
| [우아한테크코스]지원과 프리코스 까지 후기 (0) | 2020.12.14 | 
