본문 바로가기

SpringBoot (JAVA)

[SpringBoot] SpringBoot를 이용하여 MS-SQL에 사용자정의 테이블 이용하기

반응형

1. Spring Boot에서 API 구현

1.1 Maven/Gradle 의존성 추가

Spring Boot에서 MSSQL과 통신하기 위해 필요한 JDBC 드라이버를 추가합니다.

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>12.2.0.jre11</version>
</dependency>

 

1.2 DTO 및 Repository 정의

사용자 정의 테이블 타입을 표현할 DTO와 저장 프로시저 호출 로직을 작성합니다.

@Data // Lombok for getter/setter
@AllArgsConstructor
@NoArgsConstructor
public class UserDTO {
    private int id;
    private String name;
    private int age;
}

 

Repository에 SimpleJdbcCall을 사용해 저장 프로시저를 호출합니다.

 

 

 


    List<Map<String, Object>> SP_MWORK_WMS_D_BASE_DATA_QUERY01(
        @Param("CUD_CHAR") String CUD_CHAR,
        @Param("USER_TABLE") List<UserDTO> userTable
    );
    
    
	@Transactional
	@ApiOperation(notes = " ", value = "TEST")
	@PostMapping("/SP_SAVE01")
	public ListResponse<Map<String, Object>> SP_SAVE01(
			@ApiParam(value = "CUD_CHAR", example = "CUD_CHAR") @RequestParam String CUD_CHAR,
			@ApiParam(value = "userTable", example = "userTable") @RequestParam List<UserDTO> userTable)
			throws Exception {

		return responseService.getListResult(
				internService.SP_MWORK_WMS_D_ITEM_INOUT_SAVE01(CUD_CHAR, userTable));
	}
    
    
    
    @Select("exec SP_SAVE01 #{CUD_CHAR}, #{userTable}")
    List<Map<String, Object>> SP_SAVE01(@Param("CUD_CHAR") String CUD_CHAR, List<UserDTO> userTable);

 

반응형