DB연동에 쓰는 파일 다운로드
dev.mysql.com/downloads/connector/j/
DBeaver
JSP_connection_query.sql
# 막약에 testdb가 있다면 삭제
drop database if exists testdb;
create database testdb;
# testdb 사용
use testdb;
# member 테이블 생성
drop table if exists member;
create table member(
id varchar(20) primary key,
pw varchar(20) not null,
username varchar(20) not null,
phone varchar(20)
);
select *
from member;
# 테이블 데이터 입력
insert into member values('hong', '1234', '홍길동', null);
insert into member values('lee', '1234', '이순신', 01000000000);
insert into member values('leebang', '1234', '이방원', 01100000000),
('leedo', '1234', '이도', null);
# 테이블 데이터 수정
update member
set pw = '7890';
update member
set pw = '1234';
# 테이블에 있는 조건에 맞는 데이터를 수정
update member
set pw = '7890'
where id = 'lee';
# 테이블에 있는 데이터 삭제
delete
from member;
# id가 hong인 데이터만 삭제
delete
from member
where id = 'hong';
# 테이블 정보 확인
describe member;
desc member;
# 테이블 수정
# addr이라는 컬럼 추가
alter table member
add column addr varchar(50);
# 테이블 삭제
drop table member;
# 데이터베이스 삭제
drop database testdb;
# phone 컬럼 삭제
alter table member
drop column phone;
delete
from member;
select *
from member;
JDBC연동과 DB연동 객체들
JDBC
java.api 데이터베이스를 관리
JDBC를 사용한 JSP와 데이터베이스 연동
connection.jsp
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>DB연결 테스트</title>
</head>
<body>
<%
Connection connection = null;
/*
mysql서버에 접속하기 위한 경로를 설정함
jdbc:mysql => 프로토콜
localhost => 도메인(IP)
3306 => 포트번호
testdb => 접속할 DB명
*/
String url = "jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC";
String id = "root"; //접속아이디
String pw = "7496"; //접속 비밀번호
String driver = "com.mysql.cj.jdbc.Driver";
try {
/*
드라이버명에 있는 동적객체(Driver)를 생성 => JDBC 드라이버 로딩
JDBC 드라이버 로딩되면 자동으로 객체가 생성되고 DriverManager에 등록되어
연결객체(connection)를 얻게된다.
*/
Class.forName(driver);
connection = DriverManager.getConnection(url, id, pw);
out.println("데이터베이스 연결성공");
} catch(Exception e){
out.println("데이터베이스 연결실패 <br/>");
out.println(e.getMessage()); //웹페이지에 에러 출력
e.printStackTrace(); //콘솔출력
} finally{
if(connection != null){
connection.close();
}
}
%>
</body>
</html>
project 활용하기위해 모듈화
dbconn.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%
//페이지 모듈화하기 위해서 연결 부분을 따로 파일로 만들었다.
Connection connection = null;
String url = "jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC";
String id = "root"; //접속아이디
String pw = "7496"; //접속 비밀번호
String driver = "com.mysql.cj.jdbc.Driver";
Class.forName(driver);
connection = DriverManager.getConnection(url, id, pw);
%>