mariadb jar
https://mariadb.org/download/?t=connector&p=connector-java&r=2.7.3&os=universal
다운로드 한거를 이클립스에 붙이기 WEB-INF의 lib 안에 넣어줘야 데이터 가져올수 있음
lib에 넣어주면 Bulid path쪽에도 파일이 들어가 있어야함
기본 샘플, 밑에 코드처럼 해서 불러오기 ( 밑에 코드는 기존 DB 불러온거고) select * from emp;
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//아이피를 페이지마다 박아두면, 보완성 떨어지고, 코드를 다 페이지마다 붙여야함, 그래서 비즈니스로직 분리시키기 MVC기법, 모델2
// 요즘 DB에서 데이터를 배열로 담아와서 뿌림(2만개 정도만 가능)
String driver_class = "org.mariadb.jdbc.Driver";
String db_url = "jdbc:mariadb://127.0.0.1:3306/mydb";
String username = "root";
String password = "1234";
Connection conn = null; // DB와 연결 담당
Statement stmt = null; // 쿼리를 실행시킨다
ResultSet rs = null; // 결과 담아오기
try{
Class.forName(driver_class);
conn = DriverManager.getConnection(db_url, username, password);
System.out.println("연결성공");
stmt = conn.createStatement();
String sql = "select * from emp";
rs = stmt.executeQuery(sql); // DB에서 데이터를 가져온다.
while(rs.next()){ // 데이터가 있는 동안
out.println( String.format("%s %s",rs.getString(1),
rs.getString(2))+"<br/>");
}
} catch(ClassNotFoundException e){
System.out.println("드라이브 로딩 실패");
} catch(SQLException e){
System.out.println("연결 실패");
} finally {
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();
}
%>
</body>
</html>
하이디sq에서 테이블 새로 만들기
USE mydb;
INSERT INTO tb_board1(title, writer, contents, wdate, hit) VALUES ('제목1','작성자1','내용1',NOW(),0);
INSERT INTO tb_board1(title, writer, contents, wdate, hit) VALUES ('제목2','작성자2','내용2',NOW(),0);
INSERT INTO tb_board1(title, writer, contents, wdate, hit) VALUES ('제목3','작성자3','내용3',NOW(),0);
SELECT * FROM tb_board1;
테이블 만들어서 가져와도 보고, 코드 나눠서도 해보고
DTO, DAO 차이랑 controller
Dto - Data Transfer Object : 데이터를 담아다니는 클래스
join을 할 경우에는 조인한 필드로 추가
아니면 테이블단위로 하나의 클래스를 만든다.
필드개수만큼 변수 추가, 필드명과 변수명이 같으면 좀 편하다.
Dao- Data Access Object : 데이터 베이스에 가서 데이터 읽고 쓰기 담당 클래스
이렇게 써주셔도 난 아직 뭔말인지 모르겠다
그리고
<% %>
<%= %>
이거랑 차이가 뭔데!!!!!! 밑에 이런거!!
이렇데
https://programmingsummaries.tistory.com/74
이 블로그에 어제 한 inclue에 대해서도 문법 나옴
이부분 띄어쓰기 안했다고 오류 났다
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '=1' at line 1
이런 에러
https://github.com/saehee15/aca_java/tree/main/project2/src/main
커밋메세지: 20220531_ 데이터베이스랑 연결, 경로 잘 봐야함, 다를수있음, mariadb jar 파이를 따로 commit x, 다운받아줘야함
워크스페이스2에서 작업물을 1로 복사해서 넣었는데 그 중에 못 넣은게 있다.
어제 defalut.jsp에 경로를 <h3><a href="${context}/board.do">게시판</a></h3> 이걸로 바꿔줘야 오늘 작업물이랑 잘 연결됨
요건 굳이 안 바꾸겠어
'TIL > academy' 카테고리의 다른 글
국비 TIL(Today I Learned) 20220603 회원가입 폼 만들기 (0) | 2022.06.03 |
---|---|
국비 TIL(Today I Learned) 20220602 게시판 만들기 (0) | 2022.06.02 |
국비 TIL(Today I Learned) 20220530 부트스트랩, 게시판, 이미지갤러리 만들기, jsp include (0) | 2022.05.30 |
국비 TIL(Today I Learned) 20220527 mysql, mariadb (0) | 2022.05.27 |
국비 TIL(Today I Learned) 20220526 mariaDB join, 서브쿼리 (0) | 2022.05.26 |