MyBatis
-
Mybatis 를 사용하여 List 데이터를 Insert 하는 방법이다. 데이터는 아래와 같이 List 형 Map 을 사용했다.[ {role_id=O0100, right_name=기관관리자, site_code=101}, {role_id=S9900, right_name=시스템관리자, site_code=101}, {role_id=M0100, right_name=통합운영관리자, site_code=101}] SELECT MAX(right_seq)+1 FROM m_right INSERT INTO m_right(right_seq, right_name, right_desc, site_code, role_id) VALUES ( ..
Mybatis foreach, selectkey, Auto Increment 구현Mybatis 를 사용하여 List 데이터를 Insert 하는 방법이다. 데이터는 아래와 같이 List 형 Map 을 사용했다.[ {role_id=O0100, right_name=기관관리자, site_code=101}, {role_id=S9900, right_name=시스템관리자, site_code=101}, {role_id=M0100, right_name=통합운영관리자, site_code=101}] SELECT MAX(right_seq)+1 FROM m_right INSERT INTO m_right(right_seq, right_name, right_desc, site_code, role_id) VALUES ( ..
2024.09.02 -
MyBatis 를 사용할 때 데이터를 사용하는 대입과 치환 방법 2가지가 있다. #{} 방법 //Model public class VOModel { String name; ...getter, setter 생략 } SELECT * FROM test_table WHERE name = #{name} 위와 같이 #{name} 을 사용하게 되면 아래와 같이 치환된다. name 의 값이 abc 라고 하면 아래와 같다. SELECT * FROM test_table WHERE name = 'abc' #{} 으로 사용하게 되면 변수에 작은 따옴표(')가 자동으로 붙여 쿼리가 수행되기 때문에 작은따옴표를 따로 붙일 필요가 없다. 좀더 깊이 들어가자면 #{} 를 사용하게 되면 처음 쿼리는 아래와 같다. SELECT * FR..
[MyBatis] #{} 와 ${} 의 차이MyBatis 를 사용할 때 데이터를 사용하는 대입과 치환 방법 2가지가 있다. #{} 방법 //Model public class VOModel { String name; ...getter, setter 생략 } SELECT * FROM test_table WHERE name = #{name} 위와 같이 #{name} 을 사용하게 되면 아래와 같이 치환된다. name 의 값이 abc 라고 하면 아래와 같다. SELECT * FROM test_table WHERE name = 'abc' #{} 으로 사용하게 되면 변수에 작은 따옴표(')가 자동으로 붙여 쿼리가 수행되기 때문에 작은따옴표를 따로 붙일 필요가 없다. 좀더 깊이 들어가자면 #{} 를 사용하게 되면 처음 쿼리는 아래와 같다. SELECT * FR..
2022.12.14 -
, , if문과 같이 MyBatis xml 파일에서 쿼리문을 날릴때 조건문으로 사용할 수 있다. > 사용법 쿼리문1 쿼리문2 쿼리문3 쿼리문4 쿼리문5 위처럼 태그 안에 태그를 사용하고 태그의 test 속성으로 조건문을 넣어 사용한다. 그리고 태그의 조건문이 True 일 경우 해당 쿼리문을 실행한다. 모든 태그의 조건문이 False 일 경우 태그 쿼리문을 실행한다. , , 태그의 가장 중요한점은 하나라도 True 가 발생하면 해당 쿼리문을 실행한 후 다음 태그엔 접근하지 않고 종료된다. 여기서 MyBatis 태그와 차이점을 예시를 통해 알아보자 > 예시(if) SELECT * FROM test WHERE name = 'obo' AND number like '%010%' AND address like '%..
MyBatis 동적 SQL(choose, when, otherwise, set), , if문과 같이 MyBatis xml 파일에서 쿼리문을 날릴때 조건문으로 사용할 수 있다. > 사용법 쿼리문1 쿼리문2 쿼리문3 쿼리문4 쿼리문5 위처럼 태그 안에 태그를 사용하고 태그의 test 속성으로 조건문을 넣어 사용한다. 그리고 태그의 조건문이 True 일 경우 해당 쿼리문을 실행한다. 모든 태그의 조건문이 False 일 경우 태그 쿼리문을 실행한다. , , 태그의 가장 중요한점은 하나라도 True 가 발생하면 해당 쿼리문을 실행한 후 다음 태그엔 접근하지 않고 종료된다. 여기서 MyBatis 태그와 차이점을 예시를 통해 알아보자 > 예시(if) SELECT * FROM test WHERE name = 'obo' AND number like '%010%' AND address like '%..
2022.05.27 -
MyBatis 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 사용할 수 있도록 도와주는 프레임워크 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 한다. 또한 프로그램 코드와 SQL 문을 분리할 수 있다. MyBatis DB 접근 구조 MyBatis 구성요소 요소 설명 MyBatis Configuration File DB 접속 정보 및 Mapper 파일의 경로 등 환경정보를 설정하는 파일 SqlSessionFactoryBuilder SqlSessionFactory를 생성하는 Builder SqlSessionFactory SqlSession 을 생성하기 위한 구성요소 - MyBa..
MyBatisMyBatis 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 사용할 수 있도록 도와주는 프레임워크 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 한다. 또한 프로그램 코드와 SQL 문을 분리할 수 있다. MyBatis DB 접근 구조 MyBatis 구성요소 요소 설명 MyBatis Configuration File DB 접속 정보 및 Mapper 파일의 경로 등 환경정보를 설정하는 파일 SqlSessionFactoryBuilder SqlSessionFactory를 생성하는 Builder SqlSessionFactory SqlSession 을 생성하기 위한 구성요소 - MyBa..
2021.12.27 -
@SelectKey 어노테이션 사용 mysql 에서 @INSERT 어노테이션을 사용하여 insert를 했을경우 입력된 primary key가 필요할떄가 있다 그때 입력후에 바로 리턴받는 방법이 @SelectKey 어노테이션을 사용한다. @SelectKey ( statementType=statementType.PREPARED, statement="SELECT LAST_INSERT_ID()", keyProperty="seq", before=false, resultType=int.class ) public int testSelectKey(Test test); // Test Model public Class Test { int seq; String name; String number; } keyPrope..
@SelectKey, <selectKey>@SelectKey 어노테이션 사용 mysql 에서 @INSERT 어노테이션을 사용하여 insert를 했을경우 입력된 primary key가 필요할떄가 있다 그때 입력후에 바로 리턴받는 방법이 @SelectKey 어노테이션을 사용한다. @SelectKey ( statementType=statementType.PREPARED, statement="SELECT LAST_INSERT_ID()", keyProperty="seq", before=false, resultType=int.class ) public int testSelectKey(Test test); // Test Model public Class Test { int seq; String name; String number; } keyPrope..
2021.08.25