카테고리 없음
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
반응형