이전에 EC2와 도커를 통해 mysql을 연동하는 과정 이후로 진행하였다.
EC2,도커,Mysql 연동
구글에 maven repository 검색해서 Maven Repository에 들어간다.
mysql jdbc를 검색해서 해당 페이지로 이동한다.
버전을 선택한 후 해당 값을 복사하여
build.gradle 파일안에 dependencies 안에 넣어준다
mysql를 검색하여 MySQL Connector를 눌러 Add를 해준다.
그럼 자동으로 dependencies 안에 값이 들어가게 되고 오른쪽 위에 코끼리 그림을 가진 아이콘이 뜨는데 이 버튼을 눌러 Gradle을 최신화 해준다.
DB의 정보들은 코드안에 작성해도 되지만 해커들이 침투하기 쉽기때문에 코드상에 작성하기 보다는 Environment Variable 이용하여 값을 넣어야 한다.
현재 Build중인 파일을 누르고 edit configurations을 누른다.
environments variables에 값을 넣야 하므로 해당 버튼을 누른다.
연결하고 싶은 Mysql 데이터 정보(Host, User, Password)를 입력하고 저장한다.
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 연결(호스트,이름,비밀번호)
}
}