** ๐0.1๋จ๊ณ: ๊ฐ๋ฐ ๋๊ตฌ ์ค์น (Eclipse + JDK + Tomcat + MariaDB)
๐ [1] Java JDK ์ค์น (MyBatis ์คํ์ ์ํ ํ์ ์กฐ๊ฑด)
๐ก JDK๋?
Java Development Kit. ์๋ฐ๋ก ๊ฐ๋ฐํ๊ณ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ณธ ๊ฐ๋ฐ ๋๊ตฌ ์ธํธ์ผ.
โ ์ค์น ๋ฐฉ๋ฒ
-
๊ณต์ ์ฌ์ดํธ ์ ์:
https://jdk.java.net ๋๋ https://adoptium.net
โ
Temurin 11
๋๋JDK 17
LTS ๋ฒ์ ์ถ์ฒ -
์ด์์ฒด์ ์ ๋ง๊ฒ ๋ค์ด๋ก๋:
์: Windows 64bit ์ฌ์ฉ์ โ
.msi
๋๋.zip
์ ํ -
์ค์น ์คํ ํ ํ๊ฒฝ๋ณ์ ์ค์ (์๋์ฐ ๊ธฐ์ค):
์ ์ดํ > ์์คํ
> ๊ณ ๊ธ ์์คํ
์ค์ > ํ๊ฒฝ ๋ณ์
-
์์คํ ๋ณ์ ์ถ๊ฐ
๋ณ์ ์ด๋ฆ: JAVA_HOME ๋ณ์ ๊ฐ: C:\Program Files\Java\jdk-17 (์ค์น ๊ฒฝ๋ก ์ ๋ ฅ)
-
Path
๋ณ์ ํธ์ง%JAVA_HOME%\bin ์ถ๊ฐ
- ์ค์น ํ์ธ (๋ช ๋ น ํ๋กฌํํธ):
java -version
โ ๊ฒฐ๊ณผ ์์:
java version "17.0.8"
Java(TM) SE Runtime Environment ...
๐ [2] Eclipse ์ค์น (Java ํ๋ก์ ํธ ๊ฐ๋ฐ IDE)
๐ก Eclipse๋?
์๋ฐ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐ, ์คํ, ๋๋ฒ๊น ํ๋ ํตํฉ ๊ฐ๋ฐ ๋๊ตฌ์ผ. MyBatis๋ฅผ ์ฐ๋ํ๊ธฐ ๋ฑ ์ข์.
โ ์ค์น ๋ฐฉ๋ฒ
-
๊ณต์ ์ฌ์ดํธ ์ ์:
https://www.eclipse.org/downloads/
- Eclipse IDE for Java Developers ์ ํ ํ ๋ค์ด๋ก๋
- ์ค์น ๋ฐ ์คํ ํ ์ํฌ์คํ์ด์ค ์ค์
- ์:
C:\workspace\mybatisstudy
- ์:
๐ [3] Apache Tomcat ์ค์น (์น ์๋ฒ ์ญํ )
๐ก Tomcat์ด๋?
JSP/Servlet์ ์คํํ๊ณ , MyBatis ์ฐ๋ ์น ํ๋ก์ ํธ๋ฅผ ๋ธ๋ผ์ฐ์ ์์ ํ์ธํ๊ฒ ํด์ฃผ๋ ์๋ฒ์ผ.
โ ์ค์น ๋ฐฉ๋ฒ
-
๊ณต์ ์ฌ์ดํธ ์ ์:
- Tomcat 9.x or 10.x ๋ฒ์ ์ ํ โ
Windows zip
๋ค์ด๋ก๋ - ์์ถ ํด์ ํ ํด๋ ์์น ์ง์
์:
C:\tomcat9
- Tomcat ์คํ ํ
์คํธ
bin/startup.bat
์คํ- ๋ธ๋ผ์ฐ์ ์์
http://localhost:8080
์ ์ โ Tomcat ํํ์ด์ง ๋์ค๋ฉด ์ฑ๊ณต
๐ [4] MariaDB ์ค์น (MyBatis์์ ์ฌ์ฉํ๋ DB)
๐ก MariaDB๋?
MySQL๊ณผ ํธํ๋๋ ์คํ์์ค ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ผ. MyBatis๋ก SQL์ ์ฐ๋ํ ๋ ์ฃผ๋ก ์ฐ์ฌ.
โ ์ค์น ๋ฐฉ๋ฒ
-
๊ณต์ ์ฌ์ดํธ ์ ์:
https://mariadb.org/download/
- Windows์ฉ ์ค์น ํ์ผ ๋ค์ด๋ก๋
- ์ค์น ๊ณผ์ ์ค ๋ค์ ์ค์ ์ฃผ์:
- Root ๋น๋ฐ๋ฒํธ ์ค์ (
root / 1234
์ฒ๋ผ ๊ธฐ์ตํ๊ธฐ ์ฌ์ด ๊ฑธ๋ก) - ํฌํธ ๋ฒํธ: ๊ธฐ๋ณธ 3306 ์ ์ง
- ์๋น์ค ๋ฑ๋ก: ์ฒดํฌ๋ ์ฑ ์ ์ง
- Root ๋น๋ฐ๋ฒํธ ์ค์ (
- ์ค์น ํ์ธ
-
๋ช ๋ น ํ๋กฌํํธ์์:
mysql -u root -p
-
๋น๋ฐ๋ฒํธ ์ ๋ ฅ ํ ์ ์ ์ฑ๊ณต ์ OK
-
- Workbench ๋๋ HeidiSQL ๋ฑ GUI ํด๋ผ์ด์ธํธ ์ถ์ฒ
- MariaDB ์ ์ ๋ฐ ํ ์ด๋ธ ์์ฑ ์ฝ๊ฒ ๊ฐ๋ฅ
โ ๊ฐ๋ฐํ๊ฒฝ ์ต์ข ์ ๊ฒ ์ฒดํฌ๋ฆฌ์คํธ
ํญ๋ชฉ | ์ฒดํฌ ์ฌ๋ถ |
---|---|
JDK ์ค์น ๋ฐ java -version ํ์ธ |
โ |
Eclipse ์ค์น ๋ฐ ์ํฌ์คํ์ด์ค ์ธํ | โ |
Tomcat ์์ถ ํด์ ๋ฐ localhost:8080 ์ ์ ํ์ธ |
โ |
MariaDB ์ค์น ๋ฐ mysql -u root -p ์ ์ ํ์ธ |
โ |
โ 0.2๋จ๊ณ: MyBatis ์ค์ต ํ๋ก์ ํธ ์ํฌํธ + ๊ตฌ์กฐ ๋ถ์
๐ Step 1: ํ๋ก์ ํธ ์ํฌํธ (์์ถ ํด์ โ Eclipse๋ก ๊ฐ์ ธ์ค๊ธฐ)
1๏ธโฃ ์์ถ ํด์
-
mybatisstudy.zip
์ ์์์ ํด๋์ ์์ถ ํด์ ์:
C:\workspace\mybatisstudy
2๏ธโฃ Eclipse์์ ํ๋ก์ ํธ ์ํฌํธ
- Eclipse ์คํ โ [File] โ [Import] ํด๋ฆญ
-
์ ํ ํญ๋ชฉ:
General > Existing Projects into Workspace
- [Select root directory] ํด๋ฆญ โ
C:\workspace\mybatisstudy
์ ํ - [Finish] ํด๋ฆญ
โ ์ฑ๊ณต ์ mybatisstudy๋ผ๋ ํ๋ก์ ํธ๊ฐ Package Explorer์ ๋ณด์ด๋ฉด ์ฑ๊ณต!
๐ Step 2: ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ถ์
์์ถ๋ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ๋ฐ์ ์ธ MyBatis + Java ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ด ๋์ด ์์ด:
mybatisstudy/
โโโ src/ ๐ Java ์์ค์ฝ๋ (DAO, DTO, ๋ฉ์ธ ๋ฑ)
โ โโโ test0415/ ๐ ์ค์ ์ค์ต์ฉ ํจํค์ง
โ โโโ Test1_A.java ๐ ์ค์ต ๋ฉ์ธ ํ์ผ
โโโ WebContent/ ๐ JSP, HTML ๋ฑ ์น ๋ฆฌ์์ค
โ โโโ WEB-INF/
โ โ โโโ lib/ ๐ JDBC, MyBatis JAR ํ์ผ ์์น
โ โ โโโ web.xml ๐ ๋ฐฐํฌ ์ค์ ํ์ผ
โโโ StudentMapper1.xml ๐ XML Mapper ํ์ผ (SQL ์ ์)
โโโ mybatis-config.xml ๐ MyBatis ์ค์ ํ์ผ
โโโ .classpath, .project ๐ Eclipse ์๋ ์์ฑ ํ์ผ
๐ ํต์ฌ ํ์ผ ์ค๋ช (ํ ์ค ์์ฝ ํฌํจ)
ํ์ผ/ํด๋ | ์ค๋ช |
---|---|
src/test0415/Test1_A.java |
MyBatis์ ๊ธฐ๋ณธ select ์ค์ต ์ฝ๋๊ฐ ์์ฑ๋ ๋ฉ์ธ ํด๋์ค |
StudentMapper1.xml |
SQL ์ฟผ๋ฆฌ์ ๋งคํ ์ ๋ณด๋ฅผ ๋ด์ XML ๋งคํผ ํ์ผ |
mybatis-config.xml |
MyBatis ์ ์ฒด ์ค์ ํ์ผ (Mapper ๋ฑ๋ก, ํ๊ฒฝ ์ค์ ํฌํจ) |
WEB-INF/lib/ |
JDBC ๋๋ผ์ด๋ฒ์ MyBatis ์คํ์ ํ์ํ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(JAR) ์ ์ฅ์ |
web.xml |
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ๊ตฌ์ฑ ํ์ผ |
WebContent/ |
JSP, HTML, CSS ๋ฑ ์น ๋ฆฌ์์ค๋ฅผ ์์น์ํฌ ๊ณต๊ฐ (ํ์ฌ ์ค์ต์๋ ์ต์ํ๋์ด ์์) |
๐ Step 3: Build Path ์ค์ (JAR ์ฐ๊ฒฐ ํ์ธ)
mybatisstudy
ํ๋ก์ ํธ์์ ์ฐํด๋ฆญ โ Build Path โ Configure Build Path- [Libraries] ํญ์์ ๋ค์ ํญ๋ชฉ ํ์ธ:
mybatis-xxx.jar
mariadb-java-client.jar
log4j-xxx.jar
๋ฑ
โ ๋น ์ ธ ์๋ค๋ฉด WEB-INF/lib/ ํด๋์ .jar ํ์ผ์ ๋ฃ๊ณ ๋ค์ Add JARs๋ก ์ถ๊ฐ!
โ Step 4: ์คํ ํ์ธ
Test1_A.java
์ด๊ธฐ- ๋ฉ์ธ ํจ์ ์ฐํด๋ฆญ โ Run As โ Java Application
-
์ฝ์ ๊ฒฐ๊ณผ ์์:
์ ์ฒด ํ์ ์: 6๋ช ์ ์ฒด ํ์ ๋ชฉ๋ก ์ถ๋ ฅ 1ํ๋ ๋ง ์ถ๋ ฅ ์ฑ์ด ๊น์จ์ธ ํ์ ์ถ๋ ฅ ์ฃผ๋ฏผ๋ฒํธ๋ก ์ฌํ์ ๊ตฌ๋ถ
โ ์ฑ๊ณต์ ์ผ๋ก ์ถ๋ ฅ๋๋ค๋ฉด ํ๋ก์ ํธ Import + ์ค์ ์ ์๋ฒฝํ ์๋ฃ๋ ๊ฑฐ์ผ!
๐ก ๋๋ฒ๊น ํฌ์ธํธ (์ค์)
๋ฌธ์ ์ฆ์ | ์ ๊ฒํ ๊ฒ |
---|---|
ClassNotFoundException | JAR ํ์ผ ๋๋ฝ โ Build Path ๋ฑ๋ก ํ์ธ |
IOException (config ํ์ผ ๋ชป ์ฐพ์) | mybatis-config.xml ๊ฒฝ๋ก ํ์ธ, Resources.getResourceAsReader() ๊ฒฝ๋ก ์ฒดํฌ |
SQLException | DB URL/ID/PW ํ์ธ, MariaDB๊ฐ ์คํ ์ค์ธ์ง ํ์ธ |
โ 0.3๋จ๊ณ: JDBC ์ฐ๋ ํ์ธ (MyBatis ์์ด ์ง์ ์ฐ๊ฒฐ ํ ์คํธ)
๐ฏ ๋ชฉํ
Java ์ฝ๋๋ก MariaDB์ ์ง์ ์ ์ํด์ ๋ฐ์ดํฐ ์กฐํ๊ฐ ๋๋์ง ํ์ธํ๊ธฐ
(์ฑ๊ณต ์ ์ฝ์์ DB ๋ด์ฉ ์ถ๋ ฅ๋จ)
๐ 1๋จ๊ณ: ํ๊ฒฝ ์ค๋น ํ์ธ
ํญ๋ชฉ | ํ์ธ์ฌํญ |
---|---|
MariaDB ์คํ ์ฌ๋ถ | mysql -u root -p ๋ช
๋ น์ด๋ก ์ ์ ํ์ธ |
DB ์์ฑ | mybatisdb ๋ผ๋ DB์ student ํ
์ด๋ธ์ด ์กด์ฌํด์ผ ํจ |
JDBC ๋๋ผ์ด๋ฒ | WEB-INF/lib ์ mariadb-java-client-xxx.jar ํ์ผ์ด ์์ด์ผ ํจ |
Eclipse ํ๋ก์ ํธ์ Build Path ๋ฑ๋ก | ํด๋น JAR์ด Java Build Path์ ํฌํจ๋์ด ์์ด์ผ ํจ |
๐ 2๋จ๊ณ: ํ ์คํธ์ฉ student ํ ์ด๋ธ ์์ฑ
CREATE DATABASE mybatisdb;
USE mybatisdb;
CREATE TABLE student (
hakbun INT PRIMARY KEY,
irum VARCHAR(20),
hakgwa VARCHAR(20),
addr VARCHAR(50),
phone VARCHAR(20),
jumin VARCHAR(20),
grade INT
);
INSERT INTO student VALUES
(1001, '๊น๋ฏผ์', '์ปดํจํฐ๊ณตํ๊ณผ', '์์ธ์', '010-1234-5678', '010101-4123456', 1),
(1002, '์ด์ํฌ', '์ ์๊ณตํ๊ณผ', '๋ถ์ฐ์', '010-9876-5432', '020202-2234567', 2);
๐ ์ด๊ฑด MariaDB์์ ์ง์ ์คํํด์ค์ผ ํด. Workbench, DBeaver, HeidiSQL ๋ฑ์ ์ฌ์ฉํ๋ฉด ํธํด.
๐ฆ 3๋จ๊ณ: JDBC ํ
์คํธ์ฉ Java ์ฝ๋ ์์ฑ (JDBCTest.java
)
src/test0415
ํจํค์ง์ ์๋ ํ์ผ์ ์์ฑ:
package test0415;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBCTest {
public static void main(String[] args) {
// 1๏ธโฃ DB ์ ์ ์ ๋ณด
String url = "jdbc:mariadb://localhost:3306/mybatisdb";
String user = "root"; // ๋ณธ์ธ DB ๊ณ์
String password = "1234"; // ๋ณธ์ธ DB ๋น๋ฒ
try {
// 2๏ธโฃ ๋๋ผ์ด๋ฒ ๋ก๋ฉ
Class.forName("org.mariadb.jdbc.Driver");
System.out.println("โ
๋๋ผ์ด๋ฒ ๋ก๋ฉ ์ฑ๊ณต");
// 3๏ธโฃ DB ์ฐ๊ฒฐ
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("โ
DB ์ฐ๊ฒฐ ์ฑ๊ณต");
// 4๏ธโฃ SQL ์คํ
String sql = "SELECT * FROM student";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// 5๏ธโฃ ๊ฒฐ๊ณผ ์ถ๋ ฅ
while (rs.next()) {
int hakbun = rs.getInt("hakbun");
String irum = rs.getString("irum");
String hakgwa = rs.getString("hakgwa");
System.out.println("๐ " + hakbun + " / " + irum + " / " + hakgwa);
}
// 6๏ธโฃ ์์ ์ ๋ฆฌ
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace(); // ์๋ฌ ๋ฐ์ ์ ์ฝ์ ์ถ๋ ฅ
}
}
}
๐ 4๋จ๊ณ: ์คํ ๊ฒฐ๊ณผ ํ์ธ
โถ Eclipse์์ JDBCTest.java
์คํ (Run As โ Java Application)
๐ ์ฝ์ ์ถ๋ ฅ ์์:
โ
๋๋ผ์ด๋ฒ ๋ก๋ฉ ์ฑ๊ณต
โ
DB ์ฐ๊ฒฐ ์ฑ๊ณต
๐ 1001 / ๊น๋ฏผ์ / ์ปดํจํฐ๊ณตํ๊ณผ
๐ 1002 / ์ด์ํฌ / ์ ์๊ณตํ๊ณผ
โ ์ด ์ถ๋ ฅ์ด ๋ณด์ด๋ฉด JDBC โ MariaDB ์ฐ๊ฒฐ ์ฑ๊ณต!
๐งฏ ์ค๋ฅ ๋์ ์ฒดํฌ๋ฆฌ์คํธ
์๋ฌ ๋ฉ์์ง | ์์ธ | ํด๊ฒฐ๋ฐฉ๋ฒ |
---|---|---|
ClassNotFoundException |
JDBC ๋๋ผ์ด๋ฒ ์์ | mariadb-java-client.jar ์ lib์ ์ถ๊ฐ + Build Path ๋ฑ๋ก |
SQLException: Access denied |
DB ๊ณ์ /๋น๋ฒ ์ค๋ฅ | root / ๋น๋ฒ ํ์ธ ๋๋ ๊ถํ ๋ถ์ฌ |
Unknown database |
DB ์กด์ฌ ์ ํจ | CREATE DATABASE mybatisdb ์คํ ํ์ |
Communications link failure |
DB ์๋ฒ ์ ์ ๋ถ๊ฐ | MariaDB ์คํ ์ค์ธ์ง, ํฌํธ๋ฒํธ ๋ง๋์ง ํ์ธ (3306) |
โ 0.4๋จ๊ณ: lib ๋๋ ํ ๋ฆฌ ๊ตฌ์ฑ โ JAR ํ์ผ ์๋ฒฝ ๋ฑ๋กํ๊ธฐ
๐ ์ WEB-INF/lib
์ JAR ํ์ผ์ ๋ฃ์ด์ผ ํด?
- JSP/Servlet ํ๋ก์ ํธ๋ ํฐ์บฃ์ด ์คํํ ๋
WEB-INF/lib
ํด๋ ์์ ์๋.jar
ํ์ผ๋ง ์๋์ผ๋ก ์ธ์ํด. - ์ฌ๊ธฐ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ํํ ๋ฃ์ง ์์ผ๋ฉด ์คํ ์ค ClassNotFoundException, NoClassDefFoundError ๋ฐ์!
๐งฑ ๊ตฌ์ฑํ ํ์ JAR ๋ชฉ๋ก
์ฉ๋ | ํ์ผ๋ช ์์ | ์ค๋ช |
---|---|---|
๐ฆ JDBC ๋๋ผ์ด๋ฒ | mariadb-java-client-3.0.3.jar |
Java์์ MariaDB์ ์ฐ๊ฒฐํ ๋ ํ์ |
๐ฆ MyBatis | mybatis-3.5.15.jar |
SQL ๋งคํ ๊ธฐ๋ฅ ์ ๊ณต |
๐งพ ๋ก๊ทธ ์ถ๋ ฅ | log4j-1.2.17.jar |
์ฟผ๋ฆฌ ๋ก๊ทธ, ์๋ฌ ๋ก๊ทธ ๋ฑ ์ถ๋ ฅ |
๐ ๊ธฐํ | slf4j-api.jar , slf4j-log4j12.jar |
log4j์ ์ฐ๋์ ํ์ (๋ฒ์ ๋ฐ๋ผ ๋ค๋ฆ) |
๐ก mybatisstudy.zip ์์ ๋๋ถ๋ถ ํฌํจ๋์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋์. ์์ ๊ฒฝ์ฐ ์ง์ ๋ค์ด๋ก๋ํ๋ฉด ๋ผ.
๐ 1๋จ๊ณ: WEB-INF/lib
ํด๋ ํ์ธ
- Eclipse์์
WebContent/WEB-INF/lib
ํด๋ ์ด๊ธฐ -
์๋
.jar
ํ์ผ๋ค์ด ์๋์ง ํ์ธํด:mariadb-java-client-3.0.3.jar mybatis-3.5.15.jar log4j-1.2.17.jar slf4j-api-1.7.30.jar slf4j-log4j12-1.7.30.jar
โ ๋น ์ง ํ์ผ์ด ์๋ค๋ฉด [๊ณต์ ์ฌ์ดํธ] ๋๋ Maven Repository์์ ๊ฐ๋ณ ๋ค์ด๋ก๋ ๊ฐ๋ฅ.
๐ ๊ณต์ ๋ค์ด๋ก๋ ๋งํฌ ๋ชจ์
๋ผ์ด๋ธ๋ฌ๋ฆฌ | ๋ค์ด๋ก๋ ๋งํฌ |
---|---|
MyBatis | https://mybatis.org |
MariaDB JDBC | https://mariadb.com/downloads/#connectors |
Log4J | https://logging.apache.org/log4j/1.2/download.html |
SLF4J | https://www.slf4j.org/download.html |
๐ง 2๋จ๊ณ: Eclipse Build Path์ JAR ์ถ๊ฐ
โ ๏ธ lib ํด๋์ jar๋ฅผ ๋ฃ๋ ๊ฒ๋ง์ผ๋ก๋ ์คํ๋์ง ์์. ๋ฐ๋์ Build Path์๋ ์ฐ๊ฒฐํด์ผ ํด!
- ํ๋ก์ ํธ ์ฐํด๋ฆญ โ
Build Path
โConfigure Build Path
- [Libraries] ํญ ํด๋ฆญ
- ์ค๋ฅธ์ชฝ [Add JARs] ํด๋ฆญ
WebContent/WEB-INF/lib
์์.jar
์ ๋ถ ์ ํ- [Apply and Close]
โ Build Path ๋ฑ๋ก ์ฑ๊ณต ํ์ธ๋ฒ
Referenced Libraries
ํญ๋ชฉ์ ์์ JAR๋ค์ด ๋ณด์ด๋ฉด OK- ์ฝ๋์์ ์๋์ฒ๋ผ
import
๊ฐ ์ค๋ฅ ์์ด ์๋ํ๋์ง ํ์ธ:
import org.apache.ibatis.session.SqlSession;
import java.sql.Connection;
๐งช 3๋จ๊ณ: ๊ฐ๋จํ ๋ก๊ทธ ์ถ๋ ฅ ํ ์คํธ (log4j ์๋ ํ์ธ)
log4j.properties
ํ์ผ์ด src
๋๋ WEB-INF/classes
ํด๋์ ์์ด์ผ ํจ:
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n
์คํ ์ ์ฝ์์ ์ฟผ๋ฆฌ ๋ก๊ทธ๋ DEBUG ๋ฉ์์ง๊ฐ ๋ณด์ด๋ฉด log4j ์ ์ ์๋!
๐งฏ ์์ฃผ ๋ฐ์ํ๋ ์๋ฌ์ ํด๊ฒฐ๋ฒ
์ฆ์ | ์์ธ | ํด๊ฒฐ๋ฐฉ๋ฒ |
---|---|---|
ClassNotFoundException |
jar ํ์ผ ๋๋ฝ | lib ์ ๋ฃ๊ณ Build Path ๋ฑ๋ก |
No suitable driver found |
๋๋ผ์ด๋ฒ ๋ถ์ผ์น | mariadb-java-client.jar ๋ฐ๋์ ํ์ธ |
์ฟผ๋ฆฌ ๋ก๊ทธ ์ ์ฐํ | log4j ์ค์ ๋๋ฝ | log4j.properties ์์ฑ + ๋ฑ๋ก ํ์ธ |