SpringBoot 물품 소장 기능 실현
4385 단어 SpringBoot수장 하 다
SpringBoot-아 이 템 좋아요 기능 구현
SpringBoot----댓 글 답장 기능 실현(데이터베이스 디자인)
SpringBoot---파일(그림)업로드 및 표시(다운로드)
수장 하 다
데이터베이스 디자인:세 번 째 시 계 를 사용 하여 어떤 사용자 가 어떤 물건 을 소장 하고 있 는 지 저장 합 니 다.
이 글 을 쓸 때 사용자 가 이미 소장 하고 있 는 지 아 닌 지 를 어떻게 판단 할 지 전혀 생각 하지 못 했 습 니 다.처음에 전단 지 에서 제 백 엔 드 에 데 이 터 를 추가 해 달라 고 요청 하 셨 습 니 다.이렇게 하면 사용자 가 내 소장 품 에서 소장 품 을 볼 수 있 지만,들 어가 면 소장 버튼 이 밝 아 지지 않 습 니 다.
첫 번 째 클릭 하면 밝 아 지고 두 번 째 들 어 오 면 소장 여 부 를 어떻게 판단 하 느 냐 가 문제 다.
해결:전역 js 에 요청 을 썼 습 니 다.바로 애플 릿 이 들 어 오 자마자 현재 사용자 가 수집 하고 있 는 정 보 를 가 져 오 라 고 요청 하 는 것 입 니 다(배열 입 니 다).그리고 상세 페이지 에 들 어 갈 때 판단 합 니 다.또한 사용자 가 다시 수집 하거나 취소 한 후에 배열 정 보 를 변경 합 니 다.사용자 가 자세 한 페이지 를 종료 하고 내 인터페이스 로 전환 하면 이 배열 을 배경 으로 데이터 베 이 스 를 업데이트 합 니 다.
배경 코드:이것 은 전단 에서 돌아 오 는 배열 과 데이터베이스 현재 배열 이 어떤 차이 가 있 는 지 판단 해 야 합 니 다.정 보 를 추가 하거나 삭제 하거나 새로 추가 하거나 삭제 해 야 합 니 다.
데이터베이스 원래 id[1,2,3]
전단 반환 id【1,4,5】
이 럴 때 는 2,3 을 찾 아 삭제 하고 4,5 를 찾 아 새로 추가 해 야 한다.
@Override
public int addGoodsInCar(@RequestBody JSONObject sums) {
String openid = sums.getString("openid");
JSONArray gid = sums.getJSONArray("gid");
if (openid==null||gid==null){
return 0;
}
JSONArray gidf = (JSONArray)gid.clone();//
ArrayList<Integer> integers = shoppingCarMapper.selectByOpenid(openid);
int a = 1;
if (integers.size()==0 ){
ShoppingCar car = new ShoppingCar();
car.setOpenid(openid);
car.setGid(gid.getInteger(0));
a = shoppingCarMapper.insert(car);
}
if (!integers.isEmpty()){
//
Iterator<Object> it = gid.iterator();
while(it.hasNext()){
Integer gid1 =(Integer) it.next();
integers.forEach(item -> {
if(item == gid1){
it.remove();
}
});
}
Iterator<Object> it1 = gid.iterator();
while (it1.hasNext() && a==1){
int next = (int)it1.next();
ShoppingCar car = new ShoppingCar();
car.setOpenid(openid);
car.setGid(next);
a = shoppingCarMapper.insert(car);
}
Iterator<Integer> integers0 = integers.iterator();
while(integers0.hasNext()){
Integer gid1 =integers0.next();
gidf.forEach(item -> {
if(item == gid1){
integers0.remove();
}
});
}
Iterator<Integer> iterator2 = integers.iterator();
while (iterator2.hasNext() && a==1){
int next = iterator2.next();
ShoppingCar car = new ShoppingCar();
car.setOpenid(openid);
car.setGid(next);
a = shoppingCarMapper.deleteCar(car);
}
if (a==0){
return 0;
}else {
return 1;
}
}
return 0;
}
스프링 부 트 의 아 이 템 컬 렉 션 기능 구현 에 관 한 글 은 여기까지 입 니 다.스프링 부 트 아 이 템 컬 렉 션 에 관 한 더 많은 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.