| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 노션
- DTO
- react
- 오류
- dao
- JavaScript
- ES6
- 깃허브
- 정규식
- formula
- strpos()
- php
- node.js
- 부트캠프후기
- jQuery
- JDBC
- mybatis
- 현대이지웰java풀스택개발자아카데미6월
- OOP
- explode()
- MySQL
- 멀티캠퍼스it부트캠프
- INSERT
- error
- myshortcut
- 배열
- Java
- DOM
- 객체지향
- oracle
- Today
- Total
목록mybatis (2)
코딩짜는 일상
📚 서론지난주에 이어 프로젝트에서 MyBatis로 기능을 구현할 때 php와의 차이점을 정리해 보겠습니다. php는 디테일하게 언급 안 할거라 써보신 분들을 독자로 가정하고 쓴 글이라고 보시면 될 것 같습니다. 주인공은 어디까지나 MyBatis와 오라클이니까요! 🎷 INSERT 직후 기본키(Primary key) 가져오기현재 저희 프로젝트의 상품 데이터에는 일반적인 상품 데이터 외에도그 상품에 포함되는 성분에 대한 데이터도 저장되고 있습니다. 성분 데이터는 저희 프로젝트의 핵심이라상품 데이터 외에도 여러 테이블과 JOIN되어야 하기 때문에별도의 매핑 테이블을 만들어 JOIN할 때 참조로 사용하고 있습니다. 그래서 새로운 상품을 등록하려면,먼저 상품을 등록한 후에 기본키(Primary key..
📚 서론과거 PHP를 쓸 때는 sql_query() 함수를 사용해 DB 통신을 구현했었습니다. 쿼리를 문자열로 작성해 param으로 제공하면 되는 간단한 방식이기에if문을 이용한 문자열 편집으로 간단하게 쿼리를 조립할 수 있었지만... 사실 이건 인젝션 공격에 취약하기 때문에 그리 현명한 선택은 아니었습니다.😥 물론 자체적으로 입력값에 UNION을 차단하는 기능을 추가해 방어했지만 여전히 위험요소가 있었죠...🥲 현재 팀 프로젝트에선 MyBatis를 채택해 DB 통신을 구현하고 있습니다. SQL을 직접 작성할 수 있어서 복잡한 쿼리 작성이 번거롭지 않고쿼리는 모두 XML에 모아두기 때문에 유지보수나 협업에도 용이하고무엇보다 값 바인딩 #{} 을 통해 입력값을 쿼리에 삽입하기 때문에 SQL 인젝션을..
