⚡ insert 테스트
dbcong.xml 의 하단 bean id="template" 여긴 아직 사용 x - 주석처리 한 뒤 테스트
- /META-INf/config.xml
<configuration> <typeAliases> <typeAlias alias="coupndao" type="api.cpdao"></typeAlias> //이름 맘대로 </typeAliases> </configuration>
- /META-INf/mapper.xml<mapper namespace="datadb"> //이름 맘대로 <insert id="coupon_insert"> //이름 맘대로 insert into coupon (cidx,cpname,cprate,cpuse,cpdate,indate) values ('0',#{cpname},#{cprate},#{cpuse},#{cpdate},now()) </insert> </mapper>
- @Controller
@Inject private SqlSessionFactory sqlfact; /* @Resource //어디선가 쓸거임 아직 x private SqlSessionTemplate sqlsession; */ @GetMapping("/test_insert.do") public String test_insert(cpdao dao) { try { dao.setCpname("2024 연말정산 40% 할인"); dao.setCprate(40); dao.setCpuse("Y"); dao.setCpdate("2024-12-31"); /*-프론트가 없어서 강제로 값 넣음-*/ SqlSession se = this.sqlfact.openSession(); //database연결됨 se.insert("datadb.coupon_insert",dao); //mapper.xml 에서 복붙 se.close(); }catch(Exception e) { System.out.println("databse 연결 실패"); } return null; }
-> 프론트가 없어서 값을 강제로 넣음...
- cpdao.java(getter,setter) => db 연결시 dao필수package api; import lombok.Getter; import lombok.Setter; @Getter @Setter public class cpdao { int cidx,cprate; String cpname,cpuse,cpdate,indate; }
👀 순서 정리
1. DAO
2. SqlSession 연결 - dbconfig.xml : config.xml, mapper.xml 연결 (dbconfig.xml에 해당 파일 경로가 작성되어있음)
3. config.xml => java dao파일을 coupondao 연결
4. mapper.xml => ddl 태그(<insert>)에 문법 작성
5. Controller에서 Sql session을 연결
6. ddl 메소드를 호출 ( ddl 태그명 입력 : this.se.insert() ) : insert태그만 찾음( <insert> )
7. mapper에 있는 대표이름 namespace.id ( datadb.coupon_insert )로 dao값을 자동으로 전달
'CLASS > SPRING,JSTL' 카테고리의 다른 글
#8-1 / point table => Module (4) | 2024.07.23 |
---|---|
#7-3 / mybatis DB연결 - 포인트 (insert, select ,select one,delete) (1) | 2024.07.22 |
#7-1 / Mybatis 설치 및 Setting (0) | 2024.07.19 |
🎫 spring note (0) | 2024.07.19 |
#6-9 / PathVariable(- API 서버 제작시 사용) (0) | 2024.07.15 |