푸들푸들

1104 동적 Update문 본문

구디아카데미/JAVA

1104 동적 Update문

COCO_develop 2024. 11. 4. 16:29

StaffMapper.xml

<update id="updateActive" parameterType="int">
    UPDATE staff
    <set>
        <if test="active != null and active == ''">
            active = #{active}
        </if>
    </set>
    WHERE staff_id = ${staffId}
</update>

 

<if test=""> myBatis는 test에 java 표현식 그대로 적어도됨

 

<set>

    <if test="active != null and active == ''">

           active = #{active}
     </if>
 </set>

--> active값이 들어올때만 값을 수정(update)할 수 있는 동적 코드 

 

StaffController.java

@Slf4j
@Controller
public class StaffController {
	@Autowired StaffMapper staffMapper;
	@Autowired StoreMapper storeMapper;
	@Autowired AddressMapper addressMapper;
	
	// active 수정 - 활성화, 비활성화
	@GetMapping("/on/modifyStaffActive")
	public String modifyStaffActive(Staff staff) {
		if(staff.getActive() == 1) {
			staff.setActive(2);
		} else {
			staff.setActive(1);
		}
		int row = staffMapper.updateStaff(staff); // 어떤 컬럼값을 수정하든 mapper 매서드는 하나
		return "redirect:/on/staffList";
	}
  }

 

 

==>> 테이블 하나 당 update문 하나만 있어도 여러 값을 수정할 수 있음 : MyBatis의 장점

'구디아카데미 > JAVA' 카테고리의 다른 글

1105 [Sakila] Service 추가하기  (0) 2024.11.05
제목 CSS  (1) 2024.11.04
이메일 유효성 검사  (0) 2024.11.04
1104 [Sakila] addStaff.jsp  (0) 2024.11.04
Github 잔디  (4) 2024.11.02