일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- build tool
- 외국인 노동자
- bootstrap
- pdo
- angularjs
- JavaFX
- Linux
- javadoc
- WebClient
- Java
- Apache
- jquery
- spring boot
- mybatis
- php
- Python
- maven
- Spring
- 일본
- Eclipse
- node.js
- xml
- webflux
- Ajax
- SQLite
- swift
- gradle
- RSocket
- 개발자 이야기
- SQL
- Today
- 138
- Total
- 3,573,833
목록IT 개발/MyBatis (13)
슬기로운 개발자 생활
Spring Boot 용 플러그인이 포함되어 있기 때문에, 이를 사용하면 간단하게 연계할 수 있다.DB 테이블test_tableidvalue1hoge2fuga3piyo폴더 구성├── build.gradle ├── src/main/ │ └── java/ │ └── sample/mybatis/springboot/ │ └── Main.java │ └── TestTableMapper.java └── resources/ └── application.properties └── mybatis-config.xml └── TestTableMapper.xml 소스 코드build.gradlebuildscript { repositories { mavenCentral() } dependencies { classpath 'org..
MyBatis 어노테이션을 사용하여 SQL을 정의하는 방법이 제공된다.그러나 문자열 연결에서 SQL을 조립하고 쉼표 구분이라든지 AND, OR 구분 등 주의해야 하는 세세한 것들이 여러 가지가 있다.그 부분에 대해 귀찮은 부분을 감추는 API를 제공하고 있다.소스 코드sample_mapper.xml TestTableMapper.javapackage sample.mybatis; import java.util.List; import org.apache.ibatis.annotations.SelectProvider; // Mapper 인터페이스로 만든다 public interface TestTableMapper { // @SelectProvider으로 SQL을 생성하는 클래스 메소드를 설정한다 @SelectPr..
조건에 맞는 SQL을 동적(Dynamic)으로 생성할 수 있다. ifDB 테이블test_tableidstring_valuenumber_value1hoge1002hoge2003fuga3004piyo400소스 코드sample_mapper.xml select * from test_table where string_value = 'hoge' and number_value = #{numberValue} Main.javapackage sample.mybatis; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import org.apache.ibatis.session.SqlSession; import org.apache.ibat..
지금까지 우리는 SqlSession에 직접 Statement ID 및 매개 변수를 전달하는 방법으로 SQL을 실행을 하였다.MyBatis는 이와는 별도로 Mapper라는 구조도 준비되어있다. Mapper를 사용하면 SqlSession을 직접 사용하는 형태보다 안전하게 된다.기본적으로 이 Mapper를 사용하는 방법이 더 좋다. (맵핑 파일이 자동으로 Mapper 단위가 되기 때문에 관리도 쉬워진다) 기본DB 테이블test_tableidstringnumber1hoge1002fuga2003piyo300소스 코드TestTable.javapackage sample.mybatis; public class TestTable { private int id; private String string; private in..
기본적으로 SQL을 실행할 때마다 PreparedStatement를 생성하여 SQL을 데이터베이스에 전송하고 있다.업데이트 건수가 많은 경우, 이것은 매우 효율이 나쁘다.MyBatis는 설정에 따라 PreparedStatement의 재사용과 배치 갱신이 가능하게 되어있다.기본 동작소스 코드sample_mapper.xml insert into test_table (value) values (#{value}) Main.javapackage sample.mybatis; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org...
삭제전 DB 테이블test_tableidvalue1hoge2fuga3piyo소스 코드TestTable.javapackage sample.mybatis; public class TestTable { private int id; private String value; public TestTable(int id) { this.id = id; } } sample_mapper.xml delete from test_table where id = #{id} Main.javapackage sample.mybatis; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessi..
변경전 DB 테이블test_tableidvalue1hoge2fuga3piyo소스코드TestTable.javapackage sample.mybatis; public class TestTable { private int id; private String value; public TestTable(int id, String value) { this.id = id; this.value = value; } } sample_mapper.xml update test_table set value = #{value} where id = #{id} Main.javapackage sample.mybatis; import java.io.InputStream; import org.apache.ibatis.session.SqlS..
데이터 등록인 INSERT에 대해서 알아본다. 기본소스 코드sample_mapper.xml insert into test_table ( value ) values ( #{value} ) Main.javapackage sample.mybatis; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class Main { public static void main(String[] args) throws Exception {..