반응형
스프링 영화코드 구해서 DB에 Insert
MovieService
for(int i = 0; i < cgvMvList.size(); i++) {
int mvCheck = mvdao.selectMvcheck(cgvMvList.get(i).getMvname(), cgvMvList.get(i).getMvopen());
if(mvCheck ==0 ) {
String mvcode = "MV";
String mvSelect = mvdao.getMvSelect();
if (mvSelect == null) {
mvcode = mvcode +"001";
}
else {
System.out.println("mvSelect : " + mvSelect);
mvSelect = mvSelect.substring(2);
int mvcode_ = Integer.parseInt(mvSelect)+1;
if(mvcode_ <10) {
mvcode = mvcode + "00" + mvcode_;
}else if(mvcode_<100) {
mvcode = mvcode + "0" + mvcode_;
}else if(mvcode_ <1000) {
mvcode = mvcode + mvcode_;
}
}
cgvMvList.get(i).setMvcode(mvcode);
mvdao.getInsertMovie(cgvMvList.get(i));
}
}
MovieDao
package com.spring_movie01.dao;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.spring_movie01.dto.MovieDto;
public interface MovieDao {
@Select("SELECT COUNT(*) FROM MOVIES WHERE MVNAME = #{mvname} AND TO_CHAR(MVOPEN, 'YYYY.MM.DD') = #{mvopen}")
int selectMvcheck(@Param("mvname") String mvname, @Param("mvopen") String mvopen);
@Select("SELECT MAX(MVCODE) FROM MOVIES")
String getMvSelect() ;
@Insert("INSERT INTO MOVIES(MVCODE, MVNAME, MVPD, MVACTOR, MVGENRE, MVAGE, MVTIME, MVOPEN, MVPOSTER) "
+ "VALUES(#{mvcode}, #{mvname}, #{mvpd}, #{mvactor}, #{mvgenre}, #{mvage}, #{mvtime}, "
+ "TO_DATE(#{mvopen},'YYYY.MM.DD'), #{mvposter})")
void getInsertMovie(MovieDto movieDto);
}
Mapper 맵퍼사용
https://mybatis.org/mybatis-3/
src/main/resources 폴더에
매퍼를 사용할 dao가 있는 경로와 동일한 순서로 폴더를 생성한다.
여기선 매퍼를 사용할 dao파일이 com.spring_movie01.dao 패키지에 MovieDao.java 로 들어가있으므로
src/main/resources 폴더 --> com 폴더 --> spring_movie01 폴더 --> dao 폴더 --> MovieDao.xml 을 만들어준다.
그리고 MovieDao.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 = "com.spring_movie01.dao.MovieDao">
</mapper>
이렇게 매퍼를 사용할 패키지와 파일을 namespace에 지정해준다.
SQL문을 사용할 때.
<!--select문 -->
<select id="selectMovieList" resultType="com.spring_movie01.dto.MovieDto">
SELECT MVCODE, MVNAME, MVPD, MVACTOR, MVGENRE, MVAGE, MVTIME, MVTIME,
TO_CHAR(MVOPEN, 'YYYY.MM.DD'), MVPOSTER
FROM MOVIES
ORDER BY MVCODE
</select>
id =" 매핑될 메소드이름" resultType="반환타입"
MovieDao.java
package com.spring_movie01.dao;
import java.util.ArrayList;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.spring_movie01.dto.MovieDto;
public interface MovieDao {
ArrayList<MovieDto> selectMovieList();
MovieDto selectMovieInfo(String mvcode);
MovieDao.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 = "com.spring_movie01.dao.MovieDao">
<!--select문 -->
<select id="selectMovieList" resultType="com.spring_movie01.dto.MovieDto">
SELECT MVCODE, MVNAME, MVPD, MVACTOR, MVGENRE, MVAGE, MVTIME, TO_CHAR(MVOPEN, 'YYYY.MM.DD')AS MVOPEN, MVPOSTER
FROM MOVIES
ORDER BY MVCODE
</select>
<select id="selectMovieInfo" resultType ="com.spring_movie01.dto.MovieDto">
SELECT MVCODE, MVNAME, MVPD, MVACTOR, MVGENRE, MVAGE, MVTIME, TO_CHAR(MVOPEN, 'YYYY.MM.DD')AS MVOPEN, MVPOSTER
FROM MOVIES
WHERE MVCODE = #{mvcode}
</select>
반응형
'국비지원' 카테고리의 다른 글
프로젝트 에러 - Uncaught ReferenceError: clickZzim is not defined (0) | 2022.07.28 |
---|---|
22/05/25 수업정리 (0) | 2022.05.25 |
22/05/24 수업정리 (0) | 2022.05.24 |
스프링 다운받고 설정하기 (0) | 2022.05.20 |
22/05/18 수업정리 (0) | 2022.05.18 |