728x90
MyBatis의 연동과 SELECT문 요청은 아래 글 참고
[MyBatis] MyBatis 실행 순서 정리 ✍️ - SELECT 문
MyBatis는 자바 언어를 기반으로 데이터베이스 프로그래밍을 쉽게 할 수 있게 도와주는 SQL Mapper 프레임 워크로 데이터베이스와 자바 객체들 간의 상호 매핑을 단순화하고 SQL 쿼리를 실행하는데
gangintheremark.tistory.com
DML 요청
- MyBatis 는 기본적으로 auto commit 이 아니기 때문에 명시적으로 commit 호출을 해야한다. (JDBC는 자동commit)
// insert
int n = session.insert("");
int n = session.insert("", Object obj);
// update
int n = session.update("");
int n = session.update("", Object obj);
// delete
int n = session.delete("");
int n = session.delete("", Object obj);
session.commit(); 호출
INSERT문 실습
/* DeptMapper.xml */
<insert id="addDept" parameterType="DeptDTO">
insert into dept (deptno, dname, loc)
values ( #{deptno}, #{dname}, #{loc} )
</insert>
/* Main.java */
DeptDTO dto = new DeptDTO(50, "개발", "서울");
int n = session.insert("DeptMapper2.addDept", dto);
System.out.println(n + " 개가 저장됨");
session.commit(); // 트랜잭션 종료
UPDATE문 실습
/* DeptMapper.xml */
// 파라미터 값을 hashmap 으로 (필수는 X)
<update id="updateDept" parameterType="hashmap">
update dept
set dname = #{dname}, loc = #{loc}
where deptno = #{deptno}
</update>
/* Main.java */
HashMap<String, Object> map = new HashMap<>();
map.put("deptno", 50);
map.put("dname", "사무");
map.put("loc", "경기");
int n2 = session.update("DeptMapper2.updateDept", map);
System.out.println(n2 + " 개가 수정됨");
session.commit();
DELETE문 실습
/* DeptMapper.xml */
<delete id="deleteDept" parameterType="int">
delete from dept
where deptno=#{deptno}
</delete>
/* Main.java */
int n3 = session.delete("DeptMapper2.deleteDept", 50);
System.out.println(n3 + " 개가 삭제됨");
session.commit();
session.close();
728x90
'Framework & Library > MyBatis' 카테고리의 다른 글
[Oracle/MyBatis] 에러 모음 (0) | 2023.08.07 |
---|---|
[MyBatis] 동적 SQL (Dynamic SQL) 기능 - foreach문 (0) | 2023.08.07 |
[MyBatis] 동적 SQL (Dynamic SQL) 기능 - if, choose/when/otherwise (0) | 2023.08.07 |
[MyBatis] SQL Map XML 파일 (0) | 2023.08.07 |
[MyBatis] MyBatis 실행 순서 정리 ✍️ - SELECT 문 (0) | 2023.08.04 |