프로그래밍/Java 공부

Java와 MariaDB 데이터 연동 예제

개발계발게발 2021. 6. 17. 17:15
반응형

Java와 MariaDB 데이터 연동

 

싱글톤 패톤으로 생성

 

 

DBConnection 클래스

package DB;

import java.sql.Connection;
import java.sql.DriverManager;

public class DBConnection {
	//접속정보를 가지고 있는 클래스
	//싱글톤 패톤으로 생성
	public static Connection getConnection() {
		Connection conn = null;
        
		try {
			Class.forName("org.mariadb.jdbc.Driver");
			String url = "jdbc:mariadb://220.70.33.29/unknown";
			conn = DriverManager.getConnection(url, "unknown", "01234567");
		} catch (Exception e) {
			e.printStackTrace();
		}			
		return conn; 
	}
}

접속 정보를 가지고 있는 DBConnection 클래스

 

package DB;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

//DBConnection 이용하기
public class DB03 {
	public static void main(String[] args) {
		Connection conn = null;
//		객체 생성 DBConnection
//		DBConnection dbc = new DBConnection();
//		conn = dbc.getConnection();
		
		conn = DBConnection.getConnection();	// 접속 정보 연결
		
		Statement stmt = null;
		ResultSet rs = null;
		
		try {
			stmt = conn.createStatement();
			rs = stmt.executeQuery("SELECT * FROM member");
			System.out.println("번호\t이름\t나이\t사는곳");
			System.out.println("---------------------------");
			while(rs.next()) {
				System.out.print(rs.getString("member_no") + "\t");//컬럼명
				System.out.print(rs.getString("member_name") + "\t");
				System.out.print(rs.getString("member_age") + "\t");
				System.out.println(rs.getString("member_addr"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				rs.close();
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}		
	}
}

DB클래스에서 DBConnection이용하여 접속 연동하여 출력하기 (전체 출력)

 

package DB;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class DB04 {
	public static void main(String[] args) {
		
		//사용자에게 입력 받기 : 이름, 나이, 사는 곳
		
		Scanner sc = new Scanner(System.in);
		System.out.println("이름을 입력하세요.");
		String name = sc.next();
		System.out.println("나이를 입력하세요.");
		int age = sc.nextInt();
		System.out.println("사는 곳을 입력하세요.");
		String addr = sc.next();
		
		Connection conn = null;
		
		conn = DBConnection.getConnection();
		
		Statement stmt = null;
		
		String sql = "INSERT INTO member(member_name, member_age, member_addr)"
		+ " VALUES('" + name +"'," + age + ", '" + addr +"');";
		
		try {
			stmt = conn.createStatement();
			stmt.execute(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}			
		}		
	}
}

DB클래스에서 DBConnection이용하여 접속 연동하여 데이터 입력하기

 

 

 

 

 

반응형