카테고리 없음

C / S / D / V /E

Binsoo 2021. 10. 8. 16:08
728x90
반응형

🔵 Controller

 

더보기
/**
 * @author 정수빈
 */

@RestController
@Api(tags = {"Binsoo"})
@RequestMapping("/api/example")
public class BinsooController {
	
	@Autowired
	SystemService service;
	

    @ApiOperation(value = "Api System List", notes="Api System List.")
	@GetMapping(value = "")
	/** Api System List **/
	public List<SystemVo> selectApiSystemList( SearchVo searchVo ,
    
@ApiParam( name     = "seq",
            type     = "int",
            value    = "일련번호",
            example  = "1",
            required = false)
            @RequestParam(value="seq", defaultValue="0") 
            @Nullable int seq ){

		BinsooVo vo = BinsooVo.builder().build();
		
		vo.setSearchVo(searchVo);
		return service.selectApiSystemList(vo);
	}
	
    @ApiOperation(value = "Api System Total Count", notes="Api System Total Count")
	@GetMapping(value = "/total-cnt")
	/** Api System TotalCnt **/
	public SystemVo selectApiSystemTotalCount( SystemVo vo ) {
		return service.selectApiSystemTotalCount(vo);
	}
	
    @ApiOperation(value = "Api System Insert", notes="Api System Insert")
	@PostMapping(value = "")
	/** Api System Insert **/
	public int insertApiSystem( SystemVo vo ) {
		return service.insertApiSystem(vo);
	}
	
    @ApiOperation(value = "Api System Update", notes="Api System Update")
	@PatchMapping(value = "")
	/** Api System Update **/
	public int updateApiSystem( SystemVo vo ) {
		return service.updateApiSystem(vo);
	}
 }

 

🔵 Service

 

더보기
/**
 * @author 정수빈
 */

@Service
public class SystemService {
	
	@Autowired
	SystemDao dao;
	
	/** Api System List **/
	public List<SystemVo> selectApiSystemList( SystemVo vo ) {
		return dao.selectApiSystemList(vo);
	}
	
	/** Api System TotalCnt **/
	public SystemVo selectApiSystemTotalCount( SystemVo vo ) {
		return dao.selectApiSystemTotalCount(vo);
	}
	
	/** Api System Insert **/
	public int insertApiSystem( SystemVo vo ) {
		return dao.insertApiSystem(vo);
	}
	
	/** Api System Update **/
	public int updateApiSystem( SystemVo vo ) {
		return dao.updateApiSystem(vo);
	}
	
}

 

🔵 Dao

 

더보기
/**
 * @author 정수빈
 */

@Repository("com.rsn.POMS.api.code.system")
public class SystemDao {

	@Autowired @Qualifier("lucyAdminSqlSession")
    private SqlSession lucyAdminSqlSession;
	
	private static final String NAME_SPACE = "code.api.system";
 
	/** Api System List **/
	public List<SystemVo> selectApiSystemList( SystemVo vo ) {
		return lucyAdminSqlSession.selectList(NAME_SPACE + "selectApiSystemList", vo );
	}
	
	/** Api System TotalCnt **/
	public SystemVo selectApiSystemTotalCount( SystemVo vo ) {
		return lucyAdminSqlSession.selectOne(NAME_SPACE + "selectApiSystemTotalCount", vo );
	}
	
	/** Api System Insert **/
	public int insertApiSystem( SystemVo vo ) {
		return lucyAdminSqlSession.insert(NAME_SPACE + "insertApiSystem", vo );
	}
	
	/** Api System Update **/
	public int updateApiSystem( SystemVo vo ) {
		return lucyAdminSqlSession.update(NAME_SPACE + "updateApiSystem", vo );
	}
 }

 

🔵 Vo

 

더보기
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BinsooVo extends SearchVo {

	private int seq;
	
	@ApiModelProperty(
			value    = "일련번호", 
			name     = "seq", 
			dataType = "int", 
			example  = "17")
	private int seq;


	/*
	 * 검색 조건 들을 세팅 합니다.
	 * - Total Cnt 조건을 위한 메서드 입니다.
	 */
	public void setSearchVo( SearchVo searchVo ){
		
		this.searchField = BinsooEnum.of(searchVo.getSearchField()).toString();
		this.searchValue = searchVo.getSearchValue();
		
		this.searchField1 = BinsooEnum.of(searchVo.getSearchField1()).toString();
		this.searchValue1 = searchVo.getSearchValue1();
		
		this.searchField3  = BinsooEnum.of(searchVo.getSearchField3()).toString();
		this.searchValue3  = searchVo.getSearchValue3();
		
		this.seqListField  = BinsooEnum.of(searchVo.getSeqListField()).toString();
		this.seqList  = searchVo.getSeqList();
		
		this.orderByField  = BinsooEnum.of(searchVo.getOrderByField()).toString();
		this.orderByValue  = searchVo.getOrderByValue();
		
		this.rowNum = searchVo.getRowNum();
		this.limitNum = searchVo.getLimitNum();
	}
    
  }

 

 

🔵 Enum

 

더보기
public enum BinsooEnum implements EnumMapperType {

	WORD_NM("wordNm")
	, WORD_NO("wordNo")
	, USE_YN("useYn");

	private String title;

	DictionaryEnum(String title) {
		this.title = title;
	}

	@Override
	public String getCode() {
		return name();
	}

	@Override
	public String getTitle() {
		return title;
	}

	
	/**
	 * code 에 JAVA 표기법 컬럼명을 보내주면 SQL 표기법 컬럼명으로 바꿔 반환 합니다.
	 * 없는 컬럼명이라면 "" 반환
	 * 
	 * [ EX ]
	 * code   = puSeq
	 * return = pu_seq
	 */
	static String of(String code) {
		
		if( code == "" ) {
			return "";
		}
		
		return Arrays.stream( values())
				              .filter(v -> code.equals(v.title) )
				              .findFirst()
				              .orElseThrow( () -> new IllegalArgumentException(String.format("%s는 사용할 수 없는 컬럼 입니다.", code))).toString();
	}
}

 

 

🔵 xml

 

더보기
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="advanced.category">
	
	<select id="selectCategoryList" resultType=vo.BinsooVo" parameterType="vo.BinsooVo">
	</select>
	
    
	<select id="selectCategoryTotalCount" resultType="Integer" parameterType="vo.BinsooVo">
	</select>
	
    
	<insert id="insertCategory" parameterType="vo.BinsooVo"> 
	</insert>
	
	
	<update id="updateCategory" parameterType="vo.BinsooVo">
      UPDATE DEVEL_ANA_DICTIONARY 
         SET ${searchField} = #{searchValue}
       WHERE ${seqListField} IN (${seqList})
    </update>	

</mapper>

 

728x90
반응형