Java Maria DB Library 설치
기본 패키지 생성

그림과 같이 패키지와 JavaClass 생성
Test
어노테이션으로 @Test를 붙이면 메서들 별로 실행이 가능하다
junit
java로 테스트할 수 있는 도구
import org.junit.jupiter.api.Test;

임포트를 하는데 위의 파일은 처음 Gradle로 프로젝트를 만들면 자동으로 설치되는 라이브러리
MariaDB url 프로토콜
String url = "jdbc:mariadb://아이피주소:포트번호/데이터베이스이름;
package db;
import org.junit.jupiter.api.Test;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnectionTest {
// 리턴타입을 적을 수 없다.
// 매개변수를 적을 수 없다.
// @Test 붙이면 메서드 별로 실행 가능
@Test
public void getInstance_test(){
String username = "root";
String password = "1234";
String url = "jdbc:mariadb://localhost:3306/cosdb";
// 프로토콜이 적용된 소켓
try {
Connection conn = DriverManager.getConnection(url,username,password);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
Main
package db;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnection {
public static Connection getInstance() {
String username = "root";
String password = "1234";
String url = "jdbc:mariadb://localhost:3306/cosdb";
// 프로토콜이 적용된 소켓
try {
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("db connect success");
return conn;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
메인에서 적용되는지 확인
사용해보기
데이터 베이스와 테이블 생성

BankApp
Insert
import db.DBConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class BankApp {
public static void main(String[] args) {
Connection conn = DBConnection.getInstance();
try {
PreparedStatement pstmt = conn.prepareStatement("insert into account_tb(password,balance,created_at) values(?,?,now())"); // 버퍼
pstmt.setString(1,"1234");// parameterIndex : 물음표의 순서(1부터 시작함)
pstmt.setInt(2,1000);
int num = pstmt.executeUpdate(); // flush
System.out.println(num); // 영향받은 행의 수 리턴 오류는 -1
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
결과

Update
import db.DBConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class BankApp {
public static void main(String[] args) {
Connection conn = DBConnection.getInstance();
try {
String insert ="insert into account_tb(password,balance,created_at) values(?,?,now())";
String update ="update account_tb set balance = balance + ? where number = ?";
String delete ="";
PreparedStatement pstmt = conn.prepareStatement(update); // 버퍼
// pstmt.setString(1,"123456789101112131415");// parameterIndex : 물음표의 순서(1부터 시작함)
pstmt.setInt(1,2000);
pstmt.setInt(2,1);
int num = pstmt.executeUpdate(); // flush
System.out.println(num); // 영향받은 행의 수 리턴 오류는 -1
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
결과

Delete
import db.DBConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class BankApp {
public static void main(String[] args) {
Connection conn = DBConnection.getInstance();
try {
String insert ="insert into account_tb(password,balance,created_at) values(?,?,now())";
String update ="update account_tb set balance = balance + ? where number = ?";
String delete ="delete from account_tb where number = ?";
PreparedStatement pstmt = conn.prepareStatement(delete); // 버퍼
// pstmt.setString(1,"1234");// parameterIndex : 물음표의 순서(1부터 시작함)
pstmt.setInt(1,1);
int num = pstmt.executeUpdate(); // flush
System.out.println(num); // 영향받은 행의 수 리턴 오류는 -1
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
결과

Share article