-
3. MyBatis로 값 전달하기.Develpment/MyBatis 2020. 9. 13. 21:20
1. Mapper에서 Select, Insert, Update 사용해보기
mapter.xml
123456789101112131415161718192021222324252627282930313233343536<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="mem"><select id="total" resultType="mybatis.vo.MemVO">select * from hr.member_t</select><!-- 이름을 하나 받아서 검색하는 SELECT --><!-- 파라메터 타입이 String 또는 기본 자료형이면 변수명을 마음대로 사용할 수 있다. --><select id="searchName" resultType="mybatis.vo.MemVO" parameterType="java.lang.String">select * from hr.member_t where mem_name = #{strName}<!-- select * from hr.member_t where mem_name LIKE '%'||#{strName}||'%' --></select><!-- 회원 검색 --><select id="searchID" resultType="mybatis.vo.MemVO" parameterType="java.util.Map">select * from hr.member_t where mem_id = #{id} and mem_pwd = #{pwd}<!-- select * from hr.member_t where mem_name LIKE '%'||#{strName}||'%' --></select><!-- 회원 추가 --><insert id="addMem" parameterType="java.util.Map">insert into hr.member_t (mem_id, mem_pwd, mem_name, mem_email, mem_phone, mem_reg_date)values (#{id}, #{pwd}, #{name},#{email},#{phone}, sysdate)</insert><!-- 회원 수정 --><update id="updateMem" parameterType="java.util.Map">update hr.member_t set mem_pwd=#{pwd}, mem_name=#{name}, mem_email=#{email}, mem_phone=#{phone}, mem_reg_date=sysdatewhere mem_id=#{id}</update></mapper>cs * Query는 각자 DB에 맞춰서 사용할것!
* parameterType 으로 MyBatis에서 전달받을 값을 지정.
- 단일값을 전달 받을 경우에는 변수명을 마음대로 사용가능. #{변수명}
- 여러값을 전달받을경우 (Map)에는 전달에 사용한 Key 값이 변수명이 된다.
사용예제 ( 이름검색, 회원추가 예제)
12345678910111213private SqlSessionFactory factory;private void initMyBatis() {try {Reader r = Resources.getResourceAsReader("mybatis/config/config.xml");factory = new SqlSessionFactoryBuilder().build(r);r.close();setTitle("준비완료!!");} catch (Exception e) {e.printStackTrace();}}cs 1234SqlSession ss = factory.openSession();//받은 strName의 값을 MyBatis환경으로 보내어 SQL문을 수행하고 결과를 받는다.List<MemVO> list = ss.selectList("mem.searchName", "홍길동");ss.close();cs 12345678910111213141516171819202122232425// 인자로 받은 값들은 MyBatis에 묶어서 보내야 한다.// map의 5개의 값들을 Map 구조로 묶었다. 이때 사용한 key가 MaBatis에서 사용되는 변수명이 된다.HashMap<String, String> map = new HashMap<>();map.put("id", s_id);map.put("pwd", s_pwd);map.put("name", s_name);map.put("email", s_email);map.put("phone", s_phone);SqlSession ss = null;//세션try {ss = factory.openSession(true);ss.insert("mem.addMem", map);JOptionPane.showMessageDialog(this, "정상 처리 되었습니다.");isStatus = true;} catch (Exception e) {JOptionPane.showMessageDialog(this, "회원등록 오류...");} finally{if(ss != null)ss.close();}cs 'Develpment > MyBatis' 카테고리의 다른 글
2. 기본 사용법 (MySql, Oracle) (0) 2020.09.13 1. 기본 설정 (MyBatis, eclipse, MySql) (0) 2020.09.13