투케이2K

1. (spring/스프링) inteli j 사용해 html + spring 개발 환경 구축 및 oracle db 연결 실시 본문

Spring

1. (spring/스프링) inteli j 사용해 html + spring 개발 환경 구축 및 oracle db 연결 실시

투케이2K 2021. 7. 5. 19:40

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : inteli j

개발 언어 : spring

/* =========================== */

/* =========================== */

[방법 설명]

/* =========================== */

/* =========================== */

[소스 코드]

 

[application.yml >> DB 접속 경로, 서버 포트]

spring:
  devtools:
    livereload:
      enabled: true
  datasource:
    driver-class-name: oracle.jdbc.OracleDriver
    url: jdbc:oracle:thin:@112.65.186.215:1521:testname
    username: test
    password: test1234

server:
  port: 7000

mybatis:
  mapper-locations: classpath:mappers/*.xml
  type-aliases-package: com.project.solutionpackage.model









[mappers xml >> DB DML 코드 작성]

<?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 >> interface 매핑 : id 값 중요 (interface 메소드) -->
<mapper namespace="com.project.solutionpackage.mapper.DBMapper">

    <select id=“date" resultType="String">
        select TO_CHAR(SYSDATE, 'YYYY-MM-DD')
        from dual
    </select>

</mapper>









[mapper >> interface >> DB 데이터를 담을 그릇]

package com.project.solutionpackage.mapper;

import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface DBMapper {

    // [DB 조회 후 데이터를 담을 그릇 생성]
    String date();

}










[service >> mapper 매핑 및 컨트롤러 사용할 함수]

package com.project.solutionpackage.service;

import com.project.solutionpackage.mapper.DBMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class DBService {

    // [자동 설정]
    @Autowired
    private DBMapper dbMapper;

    public String date() {
        return dbMapper.date();
    }
}










[model >> 리턴값 반환 데이터 형식 정의]

package com.project.solutionpackage.model;

import lombok.Data;

@Data
public class JsonModel {

    // [현재 date 확인]
    private int code;
    private String date;

    public JsonModel(int code, String date) {
        this.code = code;
        this.date = date;
    }

}










[controller 정의 >>req 호출 경로 및 res 리턴 반환 데이터]

package com.project.solutionpackage.controller;

import com.project.solutionpackage.model.JsonModel;
import com.project.solutionpackage.service.DBService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ApiController {

    @Autowired
    private DBService dbService;

    // [root 경로 지정]
    /*@GetMapping("/")
    public JsonModel root() {
        return new JsonModel(0, "루트페이지 입니다.");
    }*/

    // [date 경로 지정]
    @GetMapping("/date")
    public JsonModel date() {
        return new JsonModel(1, dbService.date());
    }
}

/* =========================== */

반응형
Comments