반응형


우선 로직은

데이터를 받아 인서트 시킨 후 저장 여부를 체크 
저장이 성공시
다른 테이블에 저장

하는 간단한... 프로그램


첫번째 마이바티스 
키 디비에서 읽어온 후 

readEmpKey = Repository.getEmpKey(mapData); 
mapData.put("KEY", readEmpKey==null ? "1": readEmpKey ); 


INSERT INTO TEST_TBL ( 
KEY 
,TEST1 
,TEST2 
) 
VALUES( 
#{KEY} 
,#{TEST1} 
,#{TEST2} 
) 




여기서 인서트 성공하면 리턴값이 1 이였다..
#{KEY}  요 값도 정상

int rtnOk = Repository.insert1(mapData); 



그래서 위에 설정한 keyProperty="KEY"
값이 안넘어 오길래 .. 머지 머지? 하고 그냥 지나갔다

그리고 
다시 다른 테이블에 해당 키를 저장할려고 넘기고 보니 ... 이상한 키가 붙었다..

int rtnOk = Repository.insert2(mapData); 

System.out.println("리턴 되어 돌아온 ==" + mapData.get("KEY"))  
// AAAZ4GAAHAAA4G1AAC  <-----  



오늘의 삽질이다. 

결국 KEY -> TEST1 로 교체 후 오류 넘어감



요약 
INSERT 성공유무 활용할때 keyProperty 조심 허자~ map.put  잘 찍어보자 ~ 

 

반응형
반응형

원본 리스트 받아와서

리스트 컬럼 개수 만큼 문자열 추가 리스트 리턴


원본 리스트: {node1,node2,node3,node4}

변환 리스트: {node1,node2,node3,node4.node1_self.node2_self.node3_self.node4_self}


간단한거 같은데 1시간 코딩...

머리가..



List<Map<String, Object>> OriList = 원본리스트();

List<Map<String, Object>> Conversion_List = new ArrayList<Map<String, Object>>();



for (int i = 0; i < OriList.size(); i++) {

//map.put 은 add 개념이 아니라 루프를 돌때 초기화됨 

//루프 안에 설정

Map<String, Object> map = new HashMap<String, Object>();

map.put("name", OriList.get(i).get("name") + "_self");

Conversion_List.add(map);

}


// 원본과 변환 리스트 합치기

OriList.addAll(Conversion_List);


return OriList;





반응형
반응형

@Controller

public class ExcelController  extends ExceptionController {

@Autowired UserMngService userMngService;

//엑셀파일 변환 및 다운로드

   @RequestMapping("/excel_transform_controller")

   public Object  excelTransform(@RequestParam String target

    //,@RequestParam String branch_id

    ,Map<String,Object> ModelMap) throws Exception{

    //임시 .. 세션으로 할지 .. 히든으로 가져올지...

    String branch_id = "0112";

// 쿼리에 전달할 파라미터 설정             

HashMap<String, Object> param = new HashMap<String, Object>();

param.put("branch_id", branch_id);

param.put("target", target);



// 받아올 형태 Vo 설정 ( dao .. service.. ibatis 모두 맞춤)

/*

// 서비스 인터페이스

public List<ExcelVo> getAllObjects(Map<String, Object> param);

// service 구현

public List<ExcelVo> getAllObjects(Map<String, Object> param){

return (List<ExcelVo>) sqlMapClientTemplate.queryForList("idExcell", param);

}

// ibatis 부분

    <select id="idExcel" resultClass="패키지경로.ExcelVo" parameterClass="java.util.Map">

SELECT name from table...

   </select>

*/


// vo 형태 맞춰 리스트 가져옴

    List<ExcelVo>  excelList = userMngService.getAllObjects(param);


// ModelMap 에 풋풋

   ModelMap.put("excelList", excelList);

   ModelMap.put("target", target);    

   

            /*  // 잘 가져오나 한번 테스트 ~~ 

List<ExcelVo> list = (List<ExcelVo>)ModelMap.get("excelList");

System.out.println("  list ===== "+ list.size());         

            for(int i=0;i<list.size();i++){

            System.out.println("=============" + list.get(i).getUser_type_id());      

    System.out.println("=============" + list.get(i).getName() );

    }

            

            return null;

*/

   return "excelView";


   }

}


리턴 받을 곳에서  사용한건  servlet-context.xml --- >  BeanNameViewResolver


<beans:bean class="org.springframework.web.servlet.view.BeanNameViewResolver">

<beans:property name="order" value="0"/>

</beans:bean> 

<beans:bean id="excelView" class="패키지경로.ExcelView" />


반응형

+ Recent posts