:: IT/JAVA
20200113[JAVA] mysql 메소드, DB접속 및 쿼리 실행
GOGO치삼
2020. 3. 28. 19:03
1.DBClass
package com.ohj.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBClass {
String driverName = "com.mysql.jdbc.Driver";//드라이버 명칭은 고정
String dbURI = "jdbc:mysql://localhost:3306/testdb";//127.0.0.1 로컬호스트 번호
String dbID = "root";
String dbPW = "920424";
Connection conn = null;//getConnection의 변수
public DBClass() {
}// DBClass ed
// DB접속 메소드(드라이버 로드 및 DB 접속까지 처리)
public void dbconnect() {
try {
Class.forName(this.driverName);// 드라이버 로딩
System.out.println("드라이버 로드 성공");
this.conn = DriverManager.getConnection(this.dbURI, this.dbID, this.dbPW);//드라이버들을 관리해주는 클래스명 getConnection 변수를 선언 시켜줘야함
System.out.println("DB 접속 성공");
} catch (SQLException e) {
System.out.println("ERR connect:" + e.getMessage());
} catch (ClassNotFoundException e) {
System.out.println("ERR mySQL Driver Load:" + e.getMessage());
}
}
// 전체 데이터 조회 메소드(select*from emp_table)단 조회 결과를 Main으로 전달
public ResultSet select() {
String selectQuery = "select*from emp_table";
ResultSet rs = null;
try {
Statement stmt = conn.createStatement();//Statement 쿼리문을 실행할 수 있는 메소드를 가지고 있음//Connection 객체를 통해서 연결
rs = stmt.executeQuery(selectQuery);//쿼리실행코드 (executeUpdate()<- delete/ update/ insert)
} catch (SQLException e) {
System.out.println("ERR:SQL오류" + e.getMessage());
}
return rs;
}
//전체 레코드 갯수 메소드(select count(*)from emp_table)
//count(*)은 필드명이 아닌 mysql의 함수명이다.
public int recordCount(){
int n=0; //레코드의 총 갯수 저장
try {
Statement stmt =conn.createStatement();
ResultSet rs=stmt.executeQuery("select count(*)from emp_table");
rs.next();
n=rs.getInt(1);
System.out.println(n);
} catch (SQLException e) {
System.out.println("ERR count(*)오류"+e.getMessage());
}
return 0;
}
}// class DBClass ed
2.MainClass
package com.ohj.db;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Mainclass {
public static void main(String[] args) {
DBClass dbc=new DBClass();
//드라이버 로드 및 DB접속 메소드 호출
dbc.dbconnect();
ResultSet rs =dbc.select();//실제 db내부에서 실행되는 것을 자바에 되돌려주는 것 /테이블 처럼 생긴 내용을 가지고 있는 것/한 줄 당 가지고 있는 것이 record
try{
while(rs.next()){
System.out.println(rs.getString("name")+"\t");
System.out.println(rs.getInt("age"+"\t"));
System.out.println(rs.getString("local"+"\t"));
System.out.println(rs.getInt("years"+"\t"));
System.out.println(rs.getInt("worker"+"\t"));
System.out.println(rs.getInt("----------------"));
}
}catch(SQLException e){
System.out.println("ERR:SQL오류"+e.getMessage());
}
//int records=dbc.recordCount();
}
}