이후 아래의 순서대로 입력 및 클릭진행하면 된다.
package com.dbconnection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Map;
public class UserDao {
public void add() throws SQLException {
Map<String, String> env = System.getenv();
String dbHost = env.get("DB_HOST");
String dbUser = env.get("DB_USER");
String dbPassword = env.get("DB_PASSWORD");
Connection mysqlCon = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
mysqlCon = DriverManager.getConnection(
dbHost, dbUser, dbPassword
);
System.out.println("Success to connect mySQL | mysqlCon = " + mysqlCon);
} catch (Exception e) {
System.out.println("Fail to connect MySQL | exception = " + e);
}
}
public static void main(String[] args) throws SQLException, ClassNotFoundException {
UserDao userDao = new UserDao();
userDao.add();
}
}
설정된 환경변수 System.getenv()
함수를 통해 가져올 수 있습니다.
위 코드에서 아래의 에러가 발생할 수 있습니다.
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
buil.gradle에서 alt+insert -> Generate -> Add dependency -> mysql-connector-java 검색 후 Add
(저는 현재 Add를 한 상태여서 Upgrade all(2) 글자밑에 Add가 안보이지만
처음 Depdency를 추가하신 분들은 Add 가 뜰것입니다!)
dependencies {
implementation 'mysql:mysql-connector-java:8.0.30'
...
}
이후 우측상단에 있는 코끼리버튼을 눌러서 gradle파일 변경사항을 프로젝트에 반영시킵니다.
그리고 나서 다시 UserDao 클래스의 main함수를 실행하면 아래의 실행결과가 나옵니다
Success to connect mySQL | mysqlCon = com.mysql.cj.jdbc.ConnectionImpl@6f03482
이를통해 성공적으로 MySQL에 연결할 수 있습니다!!
if(mysqlCon != null){
PreparedStatement ps = mysqlCon.prepareStatement(
"insert into users(id, name, password) values(?, ?, ?)"
);
ps.setString(1, "1");
ps.setString(2, "ko1");
ps.setString(3, "1111");
ps.execute(); // ctrl + Enter (in MySQLWorkbench)
ps.close();
mysqlCon.close();
System.out.println("Success insert Database");
}
if(mysqlCon != null){
PreparedStatement selectQuery = mysqlCon.prepareStatement(
"select * from users where id = ?"
);
selectQuery.setString(1, "1");
ResultSet resultSet = selectQuery.executeQuery();
resultSet.next();
System.out.println("resultSet.getString(\"name\") = "
+ resultSet.getString("name"));
System.out.println("resultSet.getString(\"password\") = "
+ resultSet.getString("password"));
}
}
[jsp] MySQL 연동 오류(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver)