MYSQL 은 8버전
CONNECTOR 는 ODBC로 선택! 우리는 JAVA로 할 것이라, J로 해도되지만,
언어에 상관없이 다 가능한 ODBC를 사용해도 된다!
os : platform independet로 다운 후, (verseion 5.1)
압축 풀고, mysql-connector-java-8.0.22 파일 ctrl+C
mysql-connector-java-5.1.46 ctrl+C
C:\Program Files\Java\jdk-14.0.2\lib 에 붙여넣기 ctrl+V
show databases;
create database mydb;
data source 탭 > new > 설정 후룰루룩
data source exploere 탭의 mysql 오른쪽 마우스 open sql scrapbook
sql 쿼리문 실행할 수 있다.
show databases;
use mydb;
show tables;
create table member (
id int NOT NULL AUTO_INCREMENT,
name VARCHAR(100) not null,
passwd VARCHAR(50) not null,
PRIMARY KEY(id)
);
show tables;
desc member;
insert into member values(60111321, '관우', 'gorgeousbeard');
insert into member values(60135323, '유비', 'liu13');
insert into member values(60152166, '장비', 'snakespear');
webcontect\web-inf\lib 에 mysql-connector-java-xx-bin.jar ctrl+V
프로젝트 > 오른쪽마우스 > build-path > libraries tab > class path > Add jars > 위의 파일 등록
java ee-> java로 이클립스 모드 바꾸기
프로젝트 src 폴더에 패키지, 클래스 생성하기
package org.MySQL_code;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DriverSQL {
public static void main(String[] args) {
/*java로 db 접속하는 방법*/
Connection con = null; // 연결 객체
java.sql.PreparedStatement pstmt = null; // sql을 실행시켜주는 객체
try {
Class.forName("org.MySQL_code.Driver"); //동적 로딩시 어떤 클래스가 로딩 될 지 모르기때문에, 어떤 클래스가 로딩 되는지 알려주는 구문 ?
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false","root", "1234"); // 접속주소(기본포트3306), id, pw // useSSL (True) 에러값 보여주기
String sql = "insert member values('60132231','마초', 'sangnamja')";
pstmt = con.prepareStatement(sql);
pstmt.executeUpdate();
System.out.println("SQL 성공 : " + con);
} catch (SQLException ex) {
System.out.println("SQLException " + ex.getMessage() );
} catch (Exception ex) {
System.out.println("Exception " + ex.getMessage());
}
}
}
java -> java ee 이클립스 모드 바꾸기
webcontect > jsp파일 생성하기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*,java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
/*java로 db 접속하는 방법*/
Connection con;// 연결 객체
Statement stmt;// sql을 실행시켜주는 객체
ResultSet rs = null;
try {
out.print("1");
Class.forName("org.MySQL_code.Driver"); //동적 로딩시 어떤 클래스가 로딩 될 지 모르기때문에, 어떤 클래스가 로딩 되는지 알려주는 구문 ?
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false","root", "1234"); // 접속주소(기본포트3306), id, pw // useSSL (True) 에러값 보여주기
stmt = con.createStatement();
String sql = "select * from member";
rs = stmt.executeQuery(sql);
if (rs.next()) {
do{
out.print("<br>");
out.print(rs.getString("id")+" ");
out.print(rs.getString("name")+" ");
out.print(rs.getString("passwd"));
}while(rs.next());
}else {
out.print("결과가 없습니다.");
}
con.close();
} catch (SQLException ex) {
out.print(ex);
} catch (Exception ex) {
out.print(ex);
}
띠옹 👨🔧 에러
Class.forName("com.mysql.jdbc.Driver");
//Class.forName("org.MySQL_code.Driver");
참조사이트 🙌
https://altongmon.tistory.com/634
https://developer-sing-gi.tistory.com/36