본문 바로가기

소스코드

jdbc 이클립스 - db 연동 (mysql/sqlite/oracle)

root가 유저아이디/비밀번호는 본인이 지정한 비번

MySQL

Class.forName("com.mysql.cj.jdbc.Driver");

url = "jdbc:mysql://localhost:포트번호/내db스키마명?serverTimezone=UTC";

connection = DriverManager.getConnection(url,"유저아이디","비밀번호");

mysql-connector-j-8.0.31.jar
2.40MB

 

Sqlite

Class.forName("org.sqlite.JDBC");

connection = DriverManager.getConnection("jdbc:sqlite:스키마이름.db");

sqlite-jdbc-3.36.0.3.jar
9.28MB

 

ORACLE

Class.forName("oracle.jdbc.OracleDriver");

url = "jdbc:oracle:thin:@localhost:1521:xe";

connection = DriverManager.getConnection(url, "유저아이디", "비밀번호");

ojdbc8.jar
4.85MB

 

 

이하 예시 코드 (오라클db연동)

디비연결 클래스 (싱글톤)

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class STDManager {

	Connection connection = null;
	Statement stmt=null;
	
	static {
		try {
			Class.forName("oracle.jdbc.OracleDriver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	
private static STDManager stdManager= null;
	
	public static STDManager getInstance() {
		if(stdManager==null) stdManager = new STDManager();
		return stdManager;
	}	
	
	public Connection getCon() {
		try {
			connection = DriverManager.getConnection(
            	"jdbc:oracle:thin:@localhost:1521:xe", "아이디", "비밀번호"
             );
		} catch (SQLException e) {
			e.printStackTrace();System.out.println("DB연결 실패!");
		}
		return connection;
	}
    
    public void close(Connection c, PreparedStatement p,ResultSet r) {
		try {
			if(r!=null)r.close();
			if(p!=null)p.close();
			if(c!=null)c.close();
		} catch (SQLException e) {
			System.out.println("con,pstmt,rs close error!");
		}
	}
    
    public void close(Connection c, PreparedStatement p,ResultSet r) {
		try {
			if(r!=null)r.close();
			if(p!=null)p.close();
			if(c!=null)c.close();
		} catch (SQLException e) {
			System.out.println("con,pstmt,rs close error!");
		}
	}
	
	//sql 실행
	public int run(String sql) {
		int result=0;
		connection = getCon();
		try {
			stmt = connection.createStatement();
			result=stmt.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		close(connection,stmt);
		return result;
	}
    
    //해당 데이터가 있으면 1 반환
	public int selectChkExists(String sql) {
		int result = 0;
		connection = getCon();
		ResultSet rs = null;
		try {
			stmt = connection.createStatement();
			rs = stmt.executeQuery(sql);
			if(rs.next()) result = 1;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return result;
	}