@PostMapping("/api/v1/calendar/testinputdate")
public ResponseEntity<?> inputScheduleData(@RequestBody Map<String, Object> bodyParam) {
dataService.inputScheduleData(bodyParam);
return ResponseEntity.ok(bodyParam);
}
데이터가 들어오는 방식은 key value방식으로 들어오기 때문에 Map방식을 이용하여 받아준다 해당 이름은 bodyParam으로 설정한다.
@Service("com.example.demo.service.DataService")
public class DataService {
@Autowired
private DataDAO dataDAO;
public int inputScheduleData(Map<String, Object> param){
int ret = dataDAO.inputScheduleData(param);
return ret;
}
}
input값은 int로 리턴하여준다
@Repository("com.example.demo.dao.DataDAO")
@Mapper
public interface DataDAO {
//xml방식
public int inputScheduleData(Map<String,Object> param);
}
인터페이스로 선언한 DAO 에 xml과 연결할 CRUD를 작성한다 들어가는 값은 컨트롤러에서 받아온 param이다.
<mapper namespace="com.example.demo.dao.DataDAO">
<insert id="inputScheduleData" parameterType="map">
INSERT INTO scheduleinfo(user_id, todo_memo, todo_date)
VALUES(#{user_id}, #{todo_memo}, #{todo_date})
</insert>
</mapper>
namespace를 이용하여 맵퍼를 연결하고 DAO에 선언한 insert id를 기입하여준다. VO없이 바로 컬럼값을 연결하여 넣어 줄 수 있다.
@GetMapping("/api/v1/calendar/testselect")
public ResponseEntity<?> selectScheduleData(){
return ResponseEntity.ok(dataService.selectScheduleData());
}
import com.example.demo.dao.DataDAO;
import com.mongodb.DBObject;
@Service("com.example.demo.service.DataService")
public class DataService {
@Autowired
private DataDAO dataDAO;
public List<DBObject> selectScheduleData(){
return dataDAO.selectScheduleData();
}
mongodb에서 쓰이는 DBObject를 선언하여 리스트 양식을 만든다.
import com.mongodb.DBObject;
@Repository("com.example.demo.dao.DataDAO")
@Mapper
public interface DataDAO {
public List<DBObject> selectScheduleData();
}
마찬가지로 동일한 양식의 List를 선언한다.
<mapper namespace="com.example.demo.dao.DataDAO">
<resultMap id="pageMap" type="com.mongodb.BasicDBObject">
<result property="user_id" column="user_id" />
<result property="todo_memo" column="todo_memo" jdbcType="CLOB" javaType="java.lang.String"/>
<result property="todo_date" column="todo_date" />
</resultMap>
.
.
.
mapper 아래에 위에 선언한 DBObject를 property인 자바타입과 column인 DB타입을 맞춰준다. CLOB같은 특수한 데이터형식은 javaType에서 바꿔준다.