230417 풀스택 33일차 - JDBC

황인성·2023년 4월 17일
0
  1. JDBC 간단한 실습
  2. JSP를 이용한 스프링부트 흉내내기
  3. 스프링부트 입문

오늘은 서블릿이랑 JDBC연동까지
제네릭이랑 사람, 팔 객체안에서 객체 불러오고 하는그런 의존성 개념이 필요함.

프로그래머스 자바 입문 후반부로 갈수록 예제문제들이 말장난처럼 흘러가서 선생님 설명이 추가되면 좋을 것 같음.

JDBC---

새 프로젝트 >> maven

https://mvnrepository.com/

MySQL Connector Java » 8.0.22

maven


<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.22</version>
</dependency>

인텔리제이 pom.xml 에

<dependencies>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.22</version>
        </dependency>
    </dependencies>

형태로 붙임

java는 언어
웹에서 페이지로 뽑아줘야함
HTML, CSS, JS를 자바에 담아서 보내는게 아니고
이것들을 보여줄수 있게 하는게 JSP임
Java Server Page
기존에는 JSP를 이용해서 페이지를 뽑았을 때 maven없이도 가능(노가다) 새끼줄 꼬아서 짚신만듬

(공공사업은 전자정보프레임워크를 채택하겠지만 스프링 구버전으로 맞춰져있어서 설정이 복잡할거임)

깡통이 JSP면

Spring은 자동화. 대신설정이 오래걸림(이틀정도)

Spring Boot가 있는데 핵심만 담아놓은거임
설정도 간단함.(gridle, thymeleaf)

/*
정리

자바를 바닥부터 구축해서 페이지를 출력하는게 JSP

그걸자동화시키지만 설정이 복잡한게 SPRING

그 설정을 쉽게 바꾼게 SPRING BOOT
*/

스프링부트가 처음나왔을때 연습용으로 인식했는데
요즘은 대세인 느낌이 있음(제이쿼리, 리액트같은 느낌)
전자정보프레임워크가 개발된곳은 스프링을 쓰고있긴함

JDBC연결 이라고 치면 드라이버 설정 되게 많이 나옴

public class JDBCtest {
    public static main(String[] args) {

        try {
        Connection conn = null;

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

                String url = "jdbc:mysql://127.0.0.1:3306/text_board?useUnicode=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Seoul&useOldAliasMetadataBehavior=true&ZeroDateTimeBehavior=convertToNull";

                conn = Driver.manager.getConnection(url, 'root', '');

                System.out.println("연결 성공");
        } catch (ClassNotFoundException e){
            System.out.println("드라이버 로딩 실패");
        } catch (SQLException e) {
            System.out.println("에러 : " + e);
        } finally {
            try {
                if (conn != null & !conn.isClosed) {
                conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

try catch 타고 커넥션 커넥 하는 류의 코드들이 비슷함.

JDBC설치하고 물리DB에 연결

profile
문제 해결을 위해 끊임없이 파고드는 걸 좋아합니다.

0개의 댓글