본문 바로가기

java45

이클립스(Eclipse) 웹 개발 환경 구축 웹 개발을 하기 위해 필요한 프로그램을 설치하고 초기 환경설정을 진행해 보겠습니다. 1. 이클립스(Eclipse) 웹 개발용 설치 이클립스 홈페이지(https://www.eclipse.org/)의 우측 상단 Download 탭에 들어간 후, Download Packages를 클릭하여 패키지 파일을 받도록 하겠습니다. 웹 개발용 이클립스(Eclipse IDE for Enterprise Java and Web Developers)를 설치합니다. 2. JDK 설치 및 환경 변수 설정 아래 게시글에서 자세한 내용을 확인할 수 있습니다. 1. JDK (Java Development Kit) 설치, 3. 환경 변수 설정 을 참고해 주시면 감사하겠습니다. https://amy-it.tistory.com/24?cate.. 2022. 6. 21.
[JAVA] MyBatis - RowBounds MyBatis에서 RowBounds를 사용하면 전체 레코드에서 원하는 범위의 레코드만을 가져올 수 있게 됩니다. MyBatis를 사용하기 위한 환경설정과 기본 사용법은 아래 게시글에서 확인할 수 있습니다. https://amy-it.tistory.com/64 [JAVA] MyBatis 시작하기 ▶ MyBatis 란? MyBatis(마이바티스)는 SQL 매핑(mapping) 프레임워크입니다. MyBatis는 자바와 데이터베이스를 연동하기 위해 JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 대신해 줌 amy-it.tistory.com 기본 구조는 동일하게 사용하고, Main, Service 클래스, DAO 클래스, Mapper.xml 파일을 중심으로 살펴보겠습니다. Main Main에.. 2022. 6. 19.
[JAVA] MyBatis - 동적 SQL MyBatis의 가장 강력한 장점 중 하나는 동적 SQL을 처리하는 방법입니다. 이번 게시글에서는 MyBatis에서 동적 SQL을 처리하는 방법에 대해 알아보도록 하겠습니다. MyBatis를 사용하기 위한 환경설정과 기본 사용법은 아래 게시글에서 확인할 수 있습니다. https://amy-it.tistory.com/64 [JAVA] MyBatis 시작하기 ▶ MyBatis 란? MyBatis(마이바티스)는 SQL 매핑(mapping) 프레임워크입니다. MyBatis는 자바와 데이터베이스를 연동하기 위해 JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 대신해 줌 amy-it.tistory.com 기본 구조는 동일하게 사용하고, Main, Service 클래스, DAO 클래스, Mapp.. 2022. 6. 19.
[JAVA] MyBatis - HashMap 사용 SQL문 실행시 map을 인자로 전달하거나 실행 결과를 map 타입으로 반환받고자 하는 경우가 있습니다. 이때 Mapper XML 파일에 SQL문 작성시 parameterType 또는 resultType을 HashMap으로 지정할 수 있습니다. 저는 오라클 scott/tiger 계정의 dept 테이블을 이용해 실습해 보겠습니다. ▶ resultType="hashmap" SQL문 실행 결과를 HashMap 타입으로 저장하여 반환하는 형태입니다. 1. selectOne SELECT문 실행 결과가 레코드 한 개인 경우, selectOne() 메소드를 이용합니다. 이때 resultType을 hashmap으로 지정하면 레코드 한 개를 HashMap 타입으로 저장하여 HashMap 타입으로 반환합니다. 레코드 한 .. 2022. 6. 16.
[JAVA] MyBatis 시작하기 ▶ MyBatis 란? MyBatis(마이바티스)는 SQL 매핑(mapping) 프레임워크입니다. MyBatis는 자바와 데이터베이스를 연동하기 위해 JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 대신해 줌으로써, 개발자가 복잡한 코드 작업을 피하고 좀 더 빠르게 SQL을 처리할 수 있도록 도와줍니다. JDBC의 기본적인 프로그래밍 구조와 비교했을 때 MyBatis의 장점은 다음과 같습니다. JDBC 프로그램 MyBatis - Connection 직접 맺고 close() - PreparedStatement 직접 생성 - PreparedStatement의 setXXX() 등 복잡한 작업 직접 처리 - ResultSet 직접 처리 - MyBatis 내부적으로 Connection 맺고 .. 2022. 6. 15.
[JAVA] JDBC - DAO, DTO 패턴 ▶ DAO, DTO 패턴이란? 일반적으로 어플리케이션을 개발하려면 GUI(Graphical User Interface) 화면을 구성하는 코드와, GUI 화면에 데이터를 보여주기 위해 DB를 검색하고 GUI 화면에서 새로 발생된 데이터를 DB에 저장하는 등 실제적인 작업을 처리하는 코드가 필요합니다. 이때 GUI 화면을 구성하는 코드를 Presentation Logic(프리젠테이션 로직)이라고 하고, DB를 검색하고 관리하는 등 실제적인 작업을 처리하는 코드를 Business Logic(비즈니스 로직)이라고 합니다. Presentation Logic과 Business Logic을 하나의 클래스로 구현하면 유지보수가 어려워지기 때문에, 여러 클래스로 모듈화시켜 개발하는 것이 바람직합니다. 그중 실제 DB에 .. 2022. 6. 9.
[JAVA] JDBC - PreparedStatement 자바에서 DB로 SQL문을 전송하고, DB에서 SQL문을 실행한 결과를 다시 자바로 받아오기 위해 Statement, PreparedStatement 또는 CallableStatement 인터페이스를 사용합니다. PreparedStatement는 Statement를 상속받는 인터페이스로서, 더 향상된 기능을 제공합니다. SQL문 작성시 작은따옴표를 자동으로 처리해 줍니다. SQL문이 한 번 분석되면 캐시에 저장되기 때문에 재사용이 용이합니다. SQL문이 미리 컴파일되기 때문에 Statement 보다 성능상 우위입니다. 동적으로 SQL문을 처리할 수 있습니다. 즉, 동일한 SQL문에 다른 매개변수를 설정할 수 있습니다. SQL injection(보안상 허점을 악용한 SQL문을 실행해 DB를 비정상적으로 조.. 2022. 6. 7.
[JAVA] JDBC 기본 개념과 프로그래밍 단계 ▶ JDBC란? JDBC(Java DataBase Connectivity)는 자바에서 표준화된 방법으로 데이터베이스에 접근할 수 있도록 하는 프로그래밍 API입니다. java.sql 패키지로 제공되는 JDBC API는 DBMS 종류에 상관없이 사용 가능하도록 대부분 몸체가 없는 인터페이스로 선언되어 있으며, 각 DBMS 회사에서는 이 인터페이스들을 구현한 클래스 파일들을 JDBC 드라이버로 묶어서 제공하고 있습니다. 자바 어플리케이션과 실제 데이터베이스가 연동하기 위해서는 각 DBMS 종류에 맞는 드라이버를 다운받아 사용해야 합니다. JDBC 프로그래밍으로 연동하는 과정을 다음과 같이 그려볼 수 있습니다. ▶ JDBC 환경설정 JDBC를 사용하기 위해 데이터베이스 서비스가 실행중인지 확인하고, 사용중인 .. 2022. 6. 6.
[JAVA] 컬렉션 - Map 계열 Map 계열은 key와 value의 쌍으로 데이터를 저장하는 자료구조로서, key를 이용하여 원하는 값을 얻을 수 있습니다. key는 반드시 유일한 값이어야 하고 value는 중복이 가능합니다. 저장 순서는 유지되지 않습니다. Map 인터페이스의 하위 클래스는 대표적으로 HashMap과 Hashtable 클래스가 있으며, Hashtable의 하위 클래스로 Properties 클래스가 있습니다. HashMap은 null값을 허용하고, Hashtable은 null값을 허용하지 않습니다. ▶ Map 인터페이스의 주요 메소드 메소드 설명 put(Object key, Object value) putAll(Map m) key와 그에 해당되는 value 객체를 저장 V get(key) key에 해당되는 value 반.. 2022. 6. 4.
[JAVA] 컬렉션 - ArrayList List 계열의 컬렉션 클래스는 저장되는 순서가 있기 때문에 데이터 중복 저장이 가능합니다. 저장된 위치값을 사용할 수 있기 때문에 특정 값만 검색하거나 특정 값을 수정하거나 중간에 값을 삽입하는 등의 작업이 모두 가능합니다. ▶ List 인터페이스 메소드 Collection 인터페이스의 주요 메소드를 공통적으로 사용할 수 있습니다. 메소드 설명 boolean add(Object o) boolean addAll(Collection c) 지정된 객체 또는 Collection의 객체들을 Collection에 추가 void clear() Collection의 모든 객체를 삭제 boolean isEmpty() Collection이 비어있는지 확인 int size() Collection에 저장된 객체의 개수 Ob.. 2022. 6. 2.