Java와 DB연동

배지원·2022년 10월 17일
0

실습

목록 보기
1/24

이전에 EC2와 도커를 통해 mysql을 연동하는 과정 이후로 진행하였다.
EC2,도커,Mysql 연동

1.JAVA와 DB연동을 위한 Repository 추가

(1) 구글링을 통한 추가

  • 구글에 maven repository 검색해서 Maven Repository에 들어간다.

  • mysql jdbc를 검색해서 해당 페이지로 이동한다.

  • 버전을 선택한 후 해당 값을 복사하여

  • build.gradle 파일안에 dependencies 안에 넣어준다

(2) Intelij안에서 추가

  • build.gradle에서
    alt + Insert (winows)
    command + n (mac)
    를 눌러 Add dependency를 누르고
  • mysql를 검색하여 MySQL Connector를 눌러 Add를 해준다.

  • 그럼 자동으로 dependencies 안에 값이 들어가게 되고 오른쪽 위에 코끼리 그림을 가진 아이콘이 뜨는데 이 버튼을 눌러 Gradle을 최신화 해준다.

2.DB에 쿼리 전송

Java - Mysql 통신 구조

접속요청을 위한 설정

  • DB의 정보들은 코드안에 작성해도 되지만 해커들이 침투하기 쉽기때문에 코드상에 작성하기 보다는 Environment Variable 이용하여 값을 넣어야 한다.

  • 현재 Build중인 파일을 누르고 edit configurations을 누른다.

  • environments variables에 값을 넣야 하므로 해당 버튼을 누른다.

  • 연결하고 싶은 Mysql 데이터 정보(Host, User, Password)를 입력하고 저장한다.


연결 Code

public class UserDao {
    public void add() throws SQLException, ClassNotFoundException {
        Map<String,String> env = System.getenv();       // 아래의 값들은 해킹 위험이 있으므로 코드상에 데이터를 넣지말고
                                                        // 왼쪽 위에 메뉴바에서 망치 옆에 프로젝트를 눌러 edit configurations를 누르고
                                                        // environments variables를 눌러 값을 입력해 준다.
        String dbHost = env.get("DB_HOST");         // DB 호스트 번호(AWS 주소) 가져옴
        String dbUser = env.get("DB_USER");             // DB 호스트 이름  가져옴
        String dbPassword = env.get("DB_PASSWORD");     // DB 비밀번호  가져옴

        Class.forName("com.mysql.cj.jdbc.Driver");  // 만약 DB드라이버가 2개 이상일때 어떤 DB에 데이터를 삽입할 것인지 구분하기 위해 사용함
                                                             // 지금은 mysql 1개만 사용하기 때문에 없어도 됨 
        Connection conn = DriverManager.getConnection(dbHost,dbUser,dbPassword);    // db 연결(호스트,이름,비밀번호)
    }
}
profile
Web Developer

0개의 댓글