μ΄νμ μΌνμ νμ
,μ ν
,μ₯λ°κ΅¬λ
,μ£Όλ¬Έλ΄μ
CRUDλ₯Ό ꡬνν μ¨λΌμΈ μΌν μλΉμ€ μ
λλ€.
- νμκ°μ
- νμμ 보μμ
- νμνν΄
- λ‘κ·ΈμΈ(μ μ /κ΄λ¦¬μ)
- λ‘κ·Έμμ
- μνμΉ΄νΈμ μ₯/μμ
- μνμ 보μΆκ°/μμ /μμ
- λ¨μΌμνμ£Όλ¬Έ/μμ
- μ 체μνμ£Όλ¬Έ
- νμμ 보νμΈ
Java
: 1.8 versionEclipse
: photonOracleDB
Maven
Tomcat
JPA
/Lombok
Servlet
/JSP
HTML
/CSS
/JavaScript
-
DDL
DROP TABLE orders; DROP TABLE cart; DROP TABLE product; DROP TABLE users; DROP SEQUENCE orders_SEQ; DROP SEQUENCE cart_SEQ; DROP SEQUENCE product_SEQ; DROP SEQUENCE users_SEQ; CREATE SEQUENCE orders_SEQ START WITH 1 INCREMENT BY 1; CREATE SEQUENCE users_SEQ START WITH 1 INCREMENT BY 1; CREATE SEQUENCE cart_SEQ START WITH 1 INCREMENT BY 1; CREATE SEQUENCE product_SEQ START WITH 1 INCREMENT BY 1; CREATE TABLE product ( product_idx NUMBER PRIMARY KEY, category VARCHAR2(20) NOT NULL, product_name VARCHAR2(50) NOT NULL, price NUMBER NOT NULL, color VARCHAR2(20) NULL, psize VARCHAR2(20) NULL ); CREATE TABLE cart ( cart_idx NUMBER PRIMARY KEY, user_id VARCHAR2(20) NOT NULL, product_idx NUMBER NULL ); CREATE TABLE orders ( order_idx NUMBER PRIMARY KEY, user_id VARCHAR2(20) NOT NULL, product_idx NUMBER NOT NULL, order_date DATE NOT NULL ); CREATE TABLE users ( id VARCHAR2(20) PRIMARY KEY, pw VARCHAR2(20) NOT NULL, admin NUMBER(1) NOT NULL, name VARCHAR2(20) NOT NULL, address VARCHAR2(300) NOT NULL, phone VARCHAR2(20) NOT NULL ); ALTER TABLE orders ADD FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE; ALTER TABLE orders ADD FOREIGN KEY (product_idx) REFERENCES product(product_idx) ON DELETE CASCADE; ALTER TABLE cart ADD FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE; ALTER TABLE cart ADD FOREIGN KEY (product_idx) REFERENCES product(product_idx) ON DELETE CASCADE;
-
DML
INSERT INTO product VALUES(product_SEQ.NEXTVAL, 'bottom', 'μ½νΌν¬μΈ ', 40000, 'beige', 'free'); INSERT INTO product VALUES(product_SEQ.NEXTVAL, 'setup', 'μ¬λΈλ μ μ ', 68000, 'black', 'free'); INSERT INTO product VALUES(product_SEQ.NEXTVAL, 'top', 'μ€νΈλΌμ΄ν μ μΈ ', 34000, 'blue', 'free'); INSERT INTO product VALUES(product_SEQ.NEXTVAL, 'outer', 'μμΉ΄λΌ μ½νΈ', 48000, 'blue', 'free'); INSERT INTO product VALUES(product_SEQ.NEXTVAL, 'top', 'νλ μλ Έλ½', 36000, 'khaki', 'free'); INSERT INTO product VALUES(product_SEQ.NEXTVAL, 'top', 'κ·Έλ μ΄ νλν°', 30000, 'grey', 'free'); INSERT INTO product VALUES(product_SEQ.NEXTVAL, 'bottom', 'λ² μ΄μ§ μ½νΌ μ€μ»€νΈ', 32000, 'beige', 'free'); INSERT INTO users VALUES('admin', 'adminpw', '1', 'κ΄λ¦¬μ', 'κ΄λ¦¬μμ§', '01012345678'); INSERT INTO users VALUES('geesuee', 'jisu', '0', 'λ°°μ§μ', 'μΈμ² μ€κ΅¬ νλλ³λΉλ‘ 121', '01030576577'); INSERT INTO users VALUES('noowah', 'noowah', '0', 'μ‘°νμ΄', 'μμΈ μνꡬ λΆκ΄λ‘ 16κΈΈ 25-7 2μΈ΅', '01044460410'); INSERT INTO users VALUES('paparo2', 'papa', '0', 'κΉνλ', 'κ²½κΈ°λ μΌνλ λνκ΅λ‘ 212', '01066000028'); INSERT INTO cart VALUES(cart_SEQ.NEXTVAL, 'noowah', 1); INSERT INTO orders VALUES(orders_SEQ.NEXTVAL, 'noowah', 1, '2021-09-06'); commit;
-
project λλ ν 리 νΈλ¦¬
C:. β .classpath β .gitignore β .project β pom.xml β ββ.settings β .jsdtscope β org.eclipse.jdt.core.prefs β org.eclipse.jpt.core.prefs β org.eclipse.m2e.core.prefs β org.eclipse.wst.common.component β org.eclipse.wst.common.project.facet.core.prefs.xml β org.eclipse.wst.common.project.facet.core.xml β org.eclipse.wst.jsdt.ui.superType.container β org.eclipse.wst.jsdt.ui.superType.name β org.eclipse.wst.validation.prefs β ββbuild β ββclasses β ββMETA-INF β persistence.xml β ββsql β ddl.sql β dml.sql β ββsrc β ββcontroller β β Controller.java β β β ββexception β β MessageException.java β β NotExistException.java β β β ββMETA-INF β β persistence.xml β β β ββmodel β β ββDAO β β β CartDAO.java β β β OrdersDAO.java β β β ProductDAO.java β β β Service.java β β β UsersDAO.java β β β β β ββdomain β β β Cart.java β β β Orders.java β β β Product.java β β β Users.java β β β β β ββDTO β β CartDTO.java β β OrdersDTO.java β β ProductDTO.java β β UsersDTO.java β β β ββutil β DBUtil.java β ββtarget β ββclasses β β ββcontroller β β β Controller.class β β β β β ββexception β β β MessageException.class β β β NotExistException.class β β β β β ββMETA-INF β β β persistence.xml β β β β β ββmodel β β β ββDAO β β β β CartDAO.class β β β β OrdersDAO.class β β β β ProductDAO.class β β β β Service.class β β β β UsersDAO.class β β β β β β β ββdomain β β β β Cart.class β β β β Orders.class β β β β Product$ProductBuilder.class β β β β Product.class β β β β Users$UsersBuilder.class β β β β Users.class β β β β β β β ββDTO β β β CartDTO$Get.class β β β CartDTO.class β β β OrdersDTO$Create.class β β β OrdersDTO$Get.class β β β OrdersDTO.class β β β ProductDTO$Create.class β β β ProductDTO$Get.class β β β ProductDTO$Update.class β β β ProductDTO.class β β β UsersDTO$Cart.class β β β UsersDTO$Create.class β β β UsersDTO$Delete.class β β β UsersDTO$Get.class β β β UsersDTO$LogIn.class β β β UsersDTO$Order.class β β β UsersDTO$Update.class β β β UsersDTO.class β β β β β ββutil β β DBUtil.class β β β ββm2e-wtp β β ββweb-resources β β ββMETA-INF β β β MANIFEST.MF β β β β β ββmaven β β ββplaydata β β ββstep12_webProject β β pom.properties β β pom.xml β β β ββtest-classes ββWebContent β addProduct.jsp β cart.jsp β index.html β login.jsp β manageOrders.jsp β manageProduct.jsp β manageUsers.jsp β myPage.jsp β orders.jsp β productCategory.jsp β productName.jsp β register.jsp β shop.jsp β showError.jsp β updateUser.jsp β ββcommon β headerNav.jsp β searchBar.jsp β ββcss β style.css β ββimages β 1.jpg β 2.jpg β 3.jpg β 4.jpg β 5.jpg β 6.jpg β 7.jpg β ββjs β canvas.js β ββMETA-INF β MANIFEST.MF β ββWEB-INF β ββlib taglibs-standard-impl-1.2.5.jar taglibs-standard-spec-1.2.5.jar
-
java src λλ ν 리 νΈλ¦¬
C:. ββcontroller β Controller.java β ββexception β MessageException.java β NotExistException.java β ββMETA-INF β persistence.xml β ββmodel β ββDAO β β CartDAO.java β β OrdersDAO.java β β ProductDAO.java β β Service.java β β UsersDAO.java β β β ββdomain β β Cart.java β β Orders.java β β Product.java β β Users.java β β β ββDTO β CartDTO.java β OrdersDTO.java β ProductDTO.java β UsersDTO.java β ββutil DBUtil.java
-
WebContent λλ ν 리 νΈλ¦¬
C:. β addProduct.jsp β cart.jsp β index.html β login.jsp β manageOrders.jsp β manageProduct.jsp β manageUsers.jsp β myPage.jsp β orders.jsp β productCategory.jsp β productName.jsp β register.jsp β shop.jsp β showError.jsp β updateUser.jsp β ββcommon β headerNav.jsp β searchBar.jsp β ββcss β style.css β ββimages β 1.jpg β 2.jpg β 3.jpg β 4.jpg β 5.jpg β 6.jpg β 7.jpg β ββjs β canvas.js β ββMETA-INF β MANIFEST.MF β ββWEB-INF ββlib taglibs-standard-impl-1.2.5.jar taglibs-standard-spec-1.2.5.jar
-
JSTL 쑰건문
JSP
λ΄λΆ<c:if>
νκ·Έ μ¬μ©μ 쑰건μ λͺ¨λ EL Tag "${}" λ΄λΆμμλ§ μμ±
μμ <c:if test="${product.idx == 1}"> O <c:if test="${product.idx} == 1"> X <c:if test="${not empty sessionScope.user && sessionScope.user.admin==0}"> O <c:if test="${not empty sessionScope.user} && ${sessionScope.user.admin==0}"> X
-
DELETE ON CASCADE
- νμ μ 보 μμ μ λΆλͺ¨μμ κ΄κ³λ‘ mapping λ ν
μ΄λΈ(orders, cart) λ κ°μ΄ μμ λ μ μκ²
on delete cascade
μ€μ νμ - cascade μ€μ μ Entity, SQLμ€ νλλ§ μ μ©ν΄λ μ¬μ© κ°λ₯
- νμ μ 보 μμ μ λΆλͺ¨μμ κ΄κ³λ‘ mapping λ ν
μ΄λΈ(orders, cart) λ κ°μ΄ μμ λ μ μκ²
-
1:ε€ λ§€ν κ΄κ³ λ΄ κ°μ²΄ μμ
- μμ ν κ°μ²΄κ° κΈ°λ³Έ νμ μμ±μΈμ§, μ°Έμ‘° νμ μμ±μΈμ§ νμΈ νμ
- 맀νλ ν μ΄λΈμ DBμ μ°Έμ‘°κ°μ²΄μ PKλ§ κ°μ§κ³ μλκ²μ²λΌ 보μ΄μ§λ§ μ¬μ€μ μ°κ²°λ μ°Έμ‘°κ°μ²΄μ λͺ¨λ μμ±μ 보μ
- 맀νλ ν μ΄λΈμ μ°Έμ‘°νλ μν°ν°μ PKνμ© β μμ μ PKλ‘ DBλ‘ μ κ·Όνμ¬ λ§€ν κ΄κ³λ₯Ό μ¬μ μ
-
CSS
,JS
λ± λΈλΌμ°μ μΈμ΄ λ―Έμ μ©- λΈλΌμ°μ μΈμ΄κ° μ λ°μ΄νΈ μλ μ λΈλΌμ°μ "μΊμ λΉμ°κΈ° λ° κ°λ ₯μλ‘κ³ μΉ¨" μ€ν
-
GitHub Auto-merge - νμ μμ¬!
- μμ μ μ½λλΌμΈμΌλ‘ Auto-merge μ£Όμ
- νμΌλͺ μμ μ merge λΈλμΉμ base νμΈ
- Git Bash κ΄λ ¨ λ¬Έμ λ°μ
- μ₯λ°κ΅¬λ(cart) λ΄ μ€λ³΅ μ¬νμ λν΄μ μλμΌλ‘ νν / μλ μμ κΈ°λ₯ ꡬν
- μ£Όλ¬Έλ΄μ μλ₯Ό κΈ°μ€μΌλ‘ ν맀 best 물건 리μ€νΈ μΆλ ₯ ꡬν
- νμ΄μ§ μ΄λ λ°©μμ λ°λΌ νΈλμ μ μ±κ³΅ λ©μΈμ§λ₯Ό μΆλ ₯νμ§ λͺ»ν κ² μμ¬μ β νμ μ°½ ꡬν
- μκ°μ΄ μ΄λ°ν΄μ WebContent λΆλΆ νμΌ κ²½λ‘λ₯Ό μ 리νμ§ λͺ»ν κ²μ΄ μμ¬μ