Java Database ConnectivityJDBC 순서1) JDBC 드라이버 로드 (DBMS 별로 알맞은 드라이버 필요)2) DB 연결3) DB에 데이터를 읽거나 쓰기4) DB 연결 종료JDBC 코드 예제매번 드라이브를 로드하고, 커넥션을 맺고하는데 반복적인 코드
클래스의 연관 관계이 경우 Person 객체는 Animal에 의존하고 있다. animal의 로직이 흐르기 때문이다. 의존성 주입은 클래스가 가지고 있는 연관관계를 주입해주는 것이다. 객체를 실제 코드흐름에 생성하는 것이 아닌 외부에 생성된 객체를 가져와 사용하는 방식으
실선 : 식별관계 - 부모테이블의 PK가 자식테이블의 FK/PK가 되는 경우점선 : 비식별관계 - 부모테이블의 PK가 자식테이블의 일반속성이 되는 경우출처: https://gorakgarak.tistory.com/617 출처: https://eyeca
https://velog.io/@injoon2019/%EC%9E%90%EB%B0%94-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4https://velog.io/@injoon2019/%EC%9E%90%EB%B0%94
SQL은 DBMS의 Optimizer를 통해서 최적화되게 되고, Workbench는 그 실행 계획을 보여준다. 워크벤치에서 번개모양에 돋보기가 있는 것을 클릭하고, 탭을 Visual Explain으로 바꾸면 아래와 같이 어떤 순서로 실행되는지 보여준다. MySQL Wo
빌더 패턴(Builder Pattern) > 생성자에 인자가 많을 때는 빌더 패턴을 고려하라 -Effective Java 규칙 2 - 조슈아 블로크- 빌더 패턴이란? 빌더 패턴은 복잡한 객체를 생성하는 방법을 정의하는 클래스와 표현하는 방법을 정의하는 클래스를
COUNT(column)은 해당 column이 NOT NULL인 row의 수만 센다. COUNT(\*)는 테이블의 모든 row의 수를 센다. 참고로 COUNT(1)도 있는데, MySQL의 데이터 엔진인 InnoDB에서는 COUNT(\*)과 COUNT(1)의 성능상 차이
→ 쿼리 조회 후 결과 값이 없을 때 반환할 수 있는 것들이 몇 개 있다. 그 중 처음 사용했던 방식은 null값 반환이었다. 하지만 null 값 반환은 결국 다른 쪽에서 null check를 해주지 않으면 NullPointerException이 발생하게되는 단점이 있
빌더 패턴https://velog.io/@injoon2019/%EB%94%94%EC%9E%90%EC%9D%B8%ED%8C%A8%ED%84%B4-%EB%B9%8C%EB%8D%94-%ED%8C%A8%ED%84%B4COUNT(\*)와 COUNT(column)의 차이
스프링의 처리과정을 보면 예외가 발생하는 부분은 크게 두가지로 나눌 수 있다.Dispatcher Servlet내에서 발생하는 예외 (Controller, Service, Repository등등)Dispatcher Servlet전의 서블릿 (Filter)에서 발생하는 예
NullPointerException은 실제 값이 아닌 null을 가지고 있는 객체/변수를 호출할 때 발생하는 예외다.이럴 때 예외가 발생하는게 null에는 toString이 없기 때문이다. 문제는 프로그래밍을 하다보면 해당 변수에 null이 들어있는지, 아닌지를 구분
클로저는 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것을 가르킨다. 클로저는 자바스크립트를 이용한 고난이도의 테크닉을 구사하는데 필수적인 개념으로 활용된다.자바스크립트는 함수 안에서 또 다른 함수를 선언할 수 있다. 아래의 예제를 보자. 결과는 경고창
MyBatis3과 MyBatis-Spring 컴포넌트
테스트 코드
자바스크립트의 객체는 단순히 key : value의 쌍이다.value로 원시 데이터 타입, 객체, 함수까지 허용한다.객체 리터럴 패턴을 활용하면 javscript 코드를 비슷한 기능끼리 묶을 수 있다.
공식 문서: https://mybatis.org/mybatis-3/ko/getting-started.htmlpom.xml 추가https://search.maven.org/search?q=g:org.mybatisTest 클래스 생성MyBatis에서 Se
만들어진 순서는 Log4j -> Logback -> Log4j2이다“SLF4J“는 “로깅 구현체“라기 보다는 “Logging Facade” 이다.SLF4J는 로깅 Facade이다. 로깅에 대한 추상 레이어를 제공하는것이고 java로 따지면 interface덩어리 라고
https://ifuwanna.tistory.com/221String과 StringBuffer/StringBuilder 클래스의 가장 큰 차이점은 String은 불변(immutable)의 속성을 갖는다는 점입니다.직관적이어서 가장 많이 사용할 듯한 위의 예제에