본문 바로가기

DataBase/MyBatis3

[MyBatis] 동적 SQL XML element를 사용해서 동적 SQL을 처리하다보면 분기가 많아지는 경향이 자주 발견된다. 이는 가독성이 떨어지고 오타가 발생할 확률이 높아지므로 버그가 발생하는 일이 많아지게 된다. 따라서 ibatis에서 제공하던 10개 이상의 XML element를 MyBatis에서는 4개의 element로 줄였다. MyBatis는 XML element를 줄이고 다양한 조건을 처리하기 위해 OGNL 표현식을 사용한다. (jsp에서 주로 사용하는 JSTL 표현식이 OGNL이기 때문에 이를 사용하던 개발자는 MyBatis의 조건문에 적용하면 된다.) XML에서 동적 SQL을 위한 element를 사용하여 생성하는 방법은 아래와 같다. 1. OGNL (Object Graph Navigation Language) O.. 2019. 5. 24.
[MyBatis] Spring의 데이터베이스 관련 설정 MyBatis와 Spring을 함께 사용할 때는 MyBatis의 데이터베이스 설정 일부는 생략하고 스프링에 그 설정을 추가한다. 즉, 스프링을 사용하면 스프링 설정이 마이바티스 설정의 일부를 대체하는 것이다. MyBatis 설정에서 설정 가능한 element를 파악하기 위한 가장 간단한 방법은 DTD를 보는 것이다. 설정파일의 DTD는 http://mybatis.org/dtd/mybatis-3-config.dtd 에서 확인할 수 있다. 매퍼 XML의 DTD는 다음과 같다. 1. dataSource dataSource 아이디를 가진 bean은 데이터베이스 연결정보를 가진 객체이다. MyBatis와 Spring을 연동하면 데이터베이스 설정과 트랜잭션 처리는 Spring에서 관리한다. dataSource be.. 2019. 5. 23.
[MyBatis] MyBatis란? MyBatis는 JDBC(Java Database Connectivity, 자바에서 제공하는 데이터베이스 프로그래밍 API) code를 편하게 작성할 수 있게 만들어진 프레임워크 이다. 웹 애플리케이션을 개발할 때 데이터베이스와의 연동을 위해 주로 JDBC를 사용하였다. JDBC의 특징은 다음과 같다. 1) 데이터 연결 객체 생성 - Connection con = null; - Class.forName("JDBC driver class name").newInstance(); - con = DriverManager.getConnection("JDBC URL", "접속 ID", "접속 Password"); 2) SQL 정의 - PreparedStatement pre = null; - String sql = .. 2019. 5. 22.