본문 바로가기

전체 글95

이제는 Mybatis 에서 JPA로 넘어가자 현업에서는 아직도 많은 회사에서 ORM 대신에 SQL Mapper를 사용하고 있고 나 또한 회사에서 SQL Mapper를 사용중에 있다. 그런데 요새 JPA라는 ORM을 많이 사용하려고 하고 있으며 내가 생각하기에도 무조건 배워야 하는 기술이라고 생각한다. 이제는 Mybatis에서 벗어나보자 JPA를 왜 사용해야 하는지에 대해서 딱 4가지만 이야기 하겠다. 할많하않 1. 쿼리를 작성안해도 된다. 개발자가 개발에만 신경을 쓸수있다. 그렇다고 쿼리를 몰라도 된다는 이야기는 절대 아니다. 그저 단순 반복되는 작업에서 해방이 될수있다는 이야기이다. 또한 객체지향적인 프로그래밍을 개발하는데 있어서 큰 역할을 하는 존재가 된다. 2. 유지보수가 엄청나게 편해진다 우리는 쿼리를 직접 텍스트로 작성 하지 않게 되므로서.. 2020. 4. 17.
프로그래머스 59413 - 입양 시각 구하기(2) 해설을 하기전 먼저 풀어 보고 오길 바란다. 무려 level 4 문제이다. 프로그래머스 링크 https://programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크가 싫은 사람들을 위한 문제 입양 시각 구하기(2) 문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 .. 2020. 4. 3.
DAO 패턴은 왜 그렇게 생겼나? spring을 공부하면서 DB에 접근할때 왜 이러한 패턴을 생겼는지 궁금했다. 어쩌다가 이렇게 구성이 되었는지 알아보자. 내용은 토비의 스프링 3.1를 참고했습니다. #1 . 초기 JDBC로 접근 public class UserDao { public void add(User user) throws ClassNotFoundException, SQLException { Class.forName("com.mysql. jdbc.Driver"); Connection c = DriverManager.getConnection("jdbc:mysql://localhost/springbook" , "spring" , "book"); PreparedStatement ps =c.prepareStatement("insert i.. 2020. 3. 29.
Spring 트랜잭션 처리 @Transactional 데이터베이스 트랜잭션은 데이터베이스에서 상호작용의 단위 또는 데이터베이스 관리시스템이라 할 수 있다. 연관된 2개 이상의 쿼리를 실행할 때 , 모든 작업이 끝났을 때 COMMIT을 수행하고 중간에 오류가 발생하면 ROLLBACK하는 것이 기본이다. 트랜잭션을 JAVA에서 처리 Connection conn = null try { conn = DriverManager.getConnection(jdbcUrl, user, pw); conn.setAutoCommit(false); /* ...쿼리 실행.. */ conn.commit(); } catch (SQLException e) { if(conn!=null) { try { conn.rollback(); } catch (SQLException e1) { } } }.. 2020. 3. 7.