Eggs Sunny Side Up
본문 바로가기
프레임워크(Framework)/Spring

[Spring] Ajax를 이용하여 알림 개수 카운트_int를 String으로 변환

by guswn100059 2023. 8. 1.

Ajax

/* 알림 개수 카운트 */
		$.ajax({
			type:'post',
			url: 'countAlarm.com',
			data : {'u_id':data},
			dataType: 'text',
			success:function(res){
				console.log(res);
				$('#countAlarm').append(res);
				$('#modal-close-btn').click(function(){
					$('#countAlarm').html("0");
				})
			},
			error: function(e){
				console.log("알림 개수 왜 안넘어와");
			}
		})

=> 개수는 int로 데이터 수집을 해야하지만 Ajax는 문자형 데이터만 수집하기 때문에 dataType:'text'로 지정!

 

RestController

// 알림 개수 카운트
	@PostMapping("/countAlarm.com")
	public String countAlarm(@RequestParam("u_id") String u_id) {
		int count_sah = sahmapper.countSah(u_id);
		int count_sac = sacmapper.countSac(u_id);
		int result = count_sac + count_sah;
		System.out.println(count_sac);
		System.out.println(count_sah);
		System.out.println(result);
		return String.valueOf(result);
	}

=> Ajax는 String 타입 데이터만 변환받기 때문에 int 결과를 String 데이터로 변환해주는 과정 필수!

 

MyBatis Mapper

<!-- 알림 개수 세기 -->
	<select id="countSah" resultType="Integer">
		select count(*) 
		  from tb_security_alarm_human
		 where sah_read="N"
		   and u_id = #{u_id};
	</select>
    
    
<!-- 알림 개수 세기 -->
	<select id="countSac" resultType="Integer">
		select count(*) 
		  from tb_security_alarm_car
		 where sac_read="N"
		   and u_id = #{u_id};
	</select>

 

DAO

// 알람 카운트
	public int countSah(String u_id);
    
// 알림 개수 카운트
	public int countSac(String u_id);

로그인 후 알람 개수 나타나는 화면

알람 클릭 시 내용 보이는 화면

알람 내용 확인 후 알람 개수 reset

댓글