본문 바로가기

JAVA

(21)
JAVA(07.09) - AM_JDBC(JDBC Select, 가변인자, DBUtil, SecSql 적용) public class SQLErrorException extends RuntimeException{ private Exception origin; public SQLErrorException(String message, Exception origin){ super(message); this.origin = origin;}public Exception getOrigin(){ return origin; }}RuntimeExceptionRuntimeException은 Java Virtual Machine의 정상적인 작동 중에 발생할 수 있는 예외의 슈퍼 클래스이다.RuntimeException 및 해당 서브 클래스는 unchecked exception이다.checked exception반드시 ..
JAVA(07.08) - AM_JDBC( JDBC 연결, DB에 INSERT) JDBCJava DataBase Connectivity로 Java와 DB연결을 위한 표준 API이다.(Java에서 DB를 연결하고, 그 안에 있는 데이터를 가져오기 위해서 사용하는 API이다.)JDBC 연결1. JDBC 드라이버 로딩JDBC Driver? 같은 코드여도 다른 데이터베이스에 대해 작동할 수 있는 이유는 각 DBMS를 위한 JDBC Driver가 준비되어 있어 같은 코드였던 것들이 각각의 DBMS에 맞는 프로토콜로 변환되어 실행될 수 있기 때문이다.Class.forName("driver")을 이용하여 Driver Class를 로딩하면 객체가 생성되고, DriverManager에 등록된다.ex)Class.forName("com.mysql.jdbc.Driver")Class.forName("org..
JAVA(07.05) - MySQL 데이터 타입, 제약 조건(PRIMARY KEY) MySQL은 관계형 DBMS MySQL은 서버와 클라이언트 필요 서버 : 내가 요청한 응답 전달웹도 서버(아파치, nginx)와 클라이언트(브라우저) 있음클라이언트(브라우저) : 서버에 접근할 수 있는 수단 xampp를 사용함으로써 원격조종을 안하고 local에서 사용할 수 있기에 편리 MySQL != DBMySQL == DBMS  MySQL은 데이터베이스들을 관리한다.MySQL 데이터 타입 (자료형)1. 숫자 타입TINYINTSMALLINTMEDIUMINTINTBIGINTDECIMALFLOATDOUBLE2. 문자열 타입CHARVARCHARTEXT3. 날짜와 시간타입DATEDATETIMETIMESTAMPTIMEMySql 제약 조건 (constraint)제약조건이란 데이터의 무결성을 지키기 위해, 데이터를..
JAVA(07.05) - RDBMS 데이터베이스(Database, DB)?데이터의 저장소DBMS(Database Management System, 데이터베이스 관리 시스템)?데이터베이스를 운영하고 관리하는 소프트웨어SQL(Structured Query Language)?구조화된 질의 언어라는 뜻으로 관계형 데이터베이스에서 사용되는 언어  DBMS의 유형은 계층형, 망형, 관계형, 객체지향형, 객체관계형 등으로 분류. 현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지하며, MySQL도 관계형 DBMS에 포함된다. 관계형 DBMS(Relational DBMS)는 줄여서 RDBMS라고 부른다. MySQL뿐 아니라, 대부분의 DBMS가 RDBMS 형태로 사용된다. RDBMS의 데이터베이스는 모든 데이터를 2차원 테이블이라는 ..
JAVA(07.04) - ArticleManager(Controller - Service - Dao - (DB))
JAVA(07.03) - ArticleManager(Switch case문, 간소화) Switch/case 문switch(입력변수) { case 입력값1: ... break; case 입력값2: ... break; . . . default: ... break;} 입력 변수의 값과 일치하는 case 입력값이 있다면 해당 case 문에 속한 문장들이 실행된다. case 문마다 break을 해주어야 case 문 실행한 뒤 다른 case를 거치지 않고 빠져나올 수 있게 된다.입력 변수의 자료형은 byte, short, char, int, enum, String만 가능하다.(입력값이 정형화되어 있는 경우 if문보다는 switch/case문을 쓰는 것이 코드의 가독성이 좋다.)switch / case 문은 if문으로 변경이 ..
JAVA(07.02) - 날짜 기능, 게시글 검색 기능 현재 날짜 구하기LocalDate now = LocalDate.now() // 2024-07-02지역별 현재 날짜 구하기LocalDate SeoulNow = LocalDate.now(ZoneId.of("Asia/Seoul")); LocalDate LondonNow = LocalDate.now(ZoneId.of("Europe/London"));현재 시간 구하기LocalTime now = LocalTime.now(); // 22:01:11.009381700DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH시 mm분 ss초");String formatedNow = now.format(formatter);DateTimeFormatter 클래스를 이용하여..
JAVA(07.01) - MVC pattern AppController(motivaiotn, system) // motivation 여기까지 구현Service(motivation, system) -> 핵심 로직DAO(motivation Repository, System Repository)DB  Controllerclient(view)에서 보낸 요청에 따라 적절한 응답을 한다.사용자가 controller를 조작하면 controller는 model을 통해서 데이터를 가져오고, 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하게 된다.Service로직을 처리하는 객체DAO 여러개를 묶어 사용하는 개체DAO를 통해 데이터에 접근하고, DTO로 전달받은 데이터를 처리하는 데 필요한 로직 구현Controller가 Request를 ..

728x90