Data Scientist 옌

매일 발전하는 IT문제해결사

국비지원교육 (22.01-22.07)/강의노트

22-05-26(목) 083일차 [Oracle, Spring Framework, Mybatis Framework] 좋아요 만들기

옌炎 2022. 6. 22. 15:45
728x90

수업내용


1교시 (09:30-10:20)

  • 어제 했던 데이터베이스에 대한 복습

2교시 (10:30-11:20)

  • 계정과 권한
/*
사전 정의된 롤
CONNECT 롤
    -- Releas 9.0 버전
    ALTER SESSION
    CREATE CLUSTER
    CREATE DATABASE LINK
    CREATE SEQUENCE
    CREATE SESSION
    CREATE SYNONYM
    CREATE TABLE
    CREATE VIEW 
    -- Release 11.2 버전
    CREATE SESSION
RESOURCE 롤
    CREATE CLUSTER
    CREATE PROCEDURE
    CREATE SEQUENCE
    CREATE TABLE
    CREATE TRIGGER

DAB 롤 
*/


--오라클에 데이터에 계정을 만들 때는 SYSTEM 또는 SYS 계정으로 한다. 
SHOW USER;

-- 계정생성하기 
-- 계정이름 : test01
-- 계정비밀번호 : 1234
--CREATE USER : 계정을 생성하는 키워드 
--IDENTIFIED BY : 비밀번호를 생성하는 키워드 
--CREATE USER 계정명 IDENTIFIED BY 비밀번호 
CREATE USER test01 IDENTIFIED BY 1234;

--C:\Users\KOSMO>sqlplus test01/1234
--ERROR:
--ORA-01045: user TEST01 lacks CREATE SESSION privilege; logon denied
--
--ORA-01045 : 오라클 에러코드 
--오라클 에러코드를 인터넷에서 검색해서 에러를 디버깅한다. 

--맨처음 유저를 생성하면 
--달랑 유저만 생성되기 때문에 
--연결권한 
--테이블 생성 권한을 부여해야 한다. 해당하는 유저에 

--연결권한 주기 
--GRANT CREATE SESSION TO : 유저에게 연결 권한을 주는 구문
GRANT CREATE SESSION TO test01;

--C:\Users\KOSMO>sqlplus test01/1234
--다음에 접속됨:
--Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
--With the Partitioning, OLAP, Data Mining and Real Application Testing options
--
--SQL>

--테이블 생성 권한을 부여해야 한다. 해당하는 유저에 
GRANT CREATE TABLE TO test01;

--Grant을(를) 성공했습니다.

--테이블 스페이스 생성 
ALTER USER test01 QUOTA UNLIMITED ON USERS;

--계정 생성해서 테이블 만들기 
--1. system/1234 로그인
--2. 계정만들기 
--CREATE USER test02 IDENTIFIED BY 1234;
--비밀번호 바꾸기 
--ALTER USER test02 IDENTIFIED BY 1234;
--3. 연결 권한 부여
--GRANT CREATE SESSION TO test02;
--4. 테이블 생성 권한 부여
--GRANT CREATE TABLE TO test02;
--5. 테이블 스페이스 사이즈 변경 : 2M, 5M, 10M, UNLIMITED 등 
--ALTER USER test01 QUOTA UNLIMITED ON USERS;
--6. 생성한 계정으로 로그인 해서 테이블 생성하기 
--CREATE TABLE T1_TABLE (
--    TESTCOLUMN1 VARCHAR2(20) 
--   ,TESTCOLUMN2 VARCHAR2(200)
--);

--test02/1234 계정만들기 
--T2_TABLE 테이블 만들기 
--T2_COLUMN1 VARCHAR2(20)
--T2_COLUMN2 VARCHAR2(200)  
CREATE USER test02 IDENTIFIED BY 1234;
GRANT CREATE SESSION TO test02;
GRANT CREATE TABLE TO test02;
ALTER USER test02 QUOTA UNLIMITED ON USERS;

SELECT *
FROM   DBA_USERS
WHERE  USERNAME IN 'test02'


-- 테이블 스페이스에 대해서 
-- 오라클버전
SELECT * FROM V$VERSION;

-- 전체 테이블 스페이스
SELECT * FROM DBA_TABLESPACES;
SELECT * FROM DBA_DATA_FILES;

SELECT TABLESPACE_NAME, CONTENTS FROM DBA_TABLESPACES;

-- 임시 테이블 스페이스
SELECT * FROM DBA_TEMP_FILES;

-- 현재 유저의 DEFAULT TABLESPACE 확인 
SELECT * FROM USER_USERS;

--#############################################################
--계정 생성 및 테이블스페이스 정하기 
CREATE USER test03 -- 유저만들기 
IDENTIFIED BY 1234 -- 비밀번호 만들기
DEFAULT TABLESPACE USERS -- DEFAULT TABLESPACE 는 USER 스키마를 위한 기본 테이블스페이스를 지정한다.
TEMPORARY TABLESPACE TEMP; --  TEMPORARY TABLESPACE는 USER 임시 테이블스페이스를 지정한다. 
-- 정상적으로 생성되었다면 테이블 스페이스 영역을 설정한다. 

-- QUOTA 절을 사용하여 USER가 사용할 테이블스페이스의 영역을 할당한다. 
-- UNLIMITED : 공간에 제약없음, 2M, 5M, 10M 등 
ALTER USER test03 DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS;

-- 리소스 권한과 연결 권한을 아이디에 부여한다. 
GRANT resource, connect TO test03;

--CONNECT 룰
--Releas 11.2 버전
--CREATE SESSION 
--Releas 9.0 버전
--ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION,
--CREATE SYNONYM, CREATE TABLE, CREATE VIEW

--RESOURCE 룰 
--사용자가 객체(테이블, 뷰, 인덱스)를 생성할 수 있도록 하기 위해서 스스템 권한을 묶어 놓음 
--CREATE CLUSTER
--CREATE PROCEDURE
--CREATE SEQUENCE
--CREATE TABLE
--CREATE TRIGGER 

--CONN test03/124
--SELECT * FROM USER_ROLE_PRIVS;

--SELECT * FROM USER_SYS_PRIVS;

--####################################################


--hbe00/hbe1234 계정만들기 
CREATE USER hbe00 IDENTIFIED BY hbe1234
DEFAULT TABLESPACE USERS -- DEFAULT TABLESPACE 는 USER 스키마를 위한 기본 테이블스페이스를 지정한다.
TEMPORARY TABLESPACE TEMP; --  TEMPORARY TABLESPACE는 USER 임시 테이블스페이스를 지정한다. 

GRANT CREATE SESSION TO hbe00;
GRANT CREATE TABLE TO hbe00;

ALTER USER hbe00 QUOTA 2M ON USERS;
-- ALTER USER hbe00 QUOTA UNLIMITED ON USERS;

3교시 (11:30-12:20)

좋아요 만들기

  • spring_like.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="a.b.c.com.kosmo.like.dao.KosmoLikeDAO">


<select id="kosmoLikeSelect" parameterType="kosmoboardlikevo" resultType="kosmoboardlikevo">	
	
		SELECT 	A.KBLNUM 	KBLNUM	
		FROM 	KOSMO_BOARD_LIKE A
		WHERE 	A.DELETEYN = 'Y' 
		AND     A.KMNUM = #{kmnum}	
		AND     A.KBNUM = #{kbnum}
		
</select>

<select id="kosmoLikeSelectAll" parameterType="kosmoboardlikevo" resultType="kosmoboardlikevo">	
	
		SELECT 	*
		FROM 	KOSMO_BOARD_LIKE A
		WHERE 	A.DELETEYN = 'Y' 
		AND     A.KMNUM = #{kmnum}	
		AND     A.KBNUM = #{kbnum}
		
</select>


<insert id="kosmoLikeInsert" parameterType="kosmoboardlikevo" >
    
	INSERT INTO KOSMO_BOARD_LIKE (	KBLNUM, KMNUM, KBNUM, 									
									DELETEYN, INSERTDATE, UPDATEDATE)
            				VALUES(	(SELECT NVL(MAX(KBLNUM), 0) + 1 AS KBLNUM FROM KOSMO_BOARD_LIKE), 
	            					#{kmnum}, 
	            					#{kbnum},  	            				 				
	            					'Y', 
	            					SYSDATE, 
	            					SYSDATE)
</insert>

<update id="kosmoLikeUpdate_1" parameterType="kosmoboardlikevo" >
    
	UPDATE 	KOSMO_BOARD_LIKE 
	   SET  KBLIKE_CNT_1 = KBLIKE_CNT_1 + 1
		   ,UPDATEDATE = SYSDATE
	 WHERE  KMNUM = #{kmnum}
	 AND    KBNUM = #{kbnum}
	 
</update>

<update id="kosmoLikeUpdate_2" parameterType="kosmoboardlikevo" >
    
	UPDATE 	KOSMO_BOARD_LIKE 
	   SET  KBLIKE_CNT_2 = KBLIKE_CNT_2 + 1
		   ,UPDATEDATE = SYSDATE
	 WHERE  KMNUM = #{kmnum}
	 AND    KBNUM = #{kbnum}
	 
</update>

<update id="kosmoLikeUpdate_3" parameterType="kosmoboardlikevo" >
    
	UPDATE 	KOSMO_BOARD_LIKE 
	   SET  KBLIKE_CNT_3 = KBLIKE_CNT_3 + 1
		   ,UPDATEDATE = SYSDATE
	 WHERE  KMNUM = #{kmnum}
	 AND    KBNUM = #{kbnum}
	 
</update>

<update id="kosmoLikeUpdate_4" parameterType="kosmoboardlikevo" >
    
	UPDATE 	KOSMO_BOARD_LIKE 
	   SET  KBLIKE_CNT_4 = KBLIKE_CNT_4 + 1
		   ,UPDATEDATE = SYSDATE
	 WHERE  KMNUM = #{kmnum}
	 AND    KBNUM = #{kbnum}
	 
</update>

<update id="kosmoLikeUpdate_5" parameterType="kosmoboardlikevo" >
    
	UPDATE 	KOSMO_BOARD_LIKE 
	   SET  KBLIKE_CNT_5 = KBLIKE_CNT_5 + 1
		   ,UPDATEDATE = SYSDATE
	 WHERE  KMNUM = #{kmnum}
	 AND    KBNUM = #{kbnum}
	 
</update>

<update id="kosmoLikeUpdate_6" parameterType="kosmoboardlikevo" >
    
	UPDATE 	KOSMO_BOARD_LIKE 
	   SET  KBLIKE_CNT_6 = KBLIKE_CNT_6 + 1
		   ,UPDATEDATE = SYSDATE
	 WHERE  KMNUM = #{kmnum}
	 AND    KBNUM = #{kbnum}
	 
</update>

</mapper>
  • mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
		  "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
	<typeAliases>
		<typeAlias type="a.b.c.com.kosmo.product.vo.KosmoProductVO" alias="kosmoproductvo"/>
		<typeAlias type="a.b.c.com.kosmo.cart.vo.KosmoCartVO" alias="kosmocartvo"/>
		<typeAlias type="a.b.c.com.kosmo.mem.vo.KosmoMemberVO" alias="kosmomembervo"/>	
		<typeAlias type="a.b.c.com.kosmo.board.vo.KosmoBoardVO" alias="kosmoboardvo"/>	
		<typeAlias type="a.b.c.com.kosmo.rboard.vo.KosmoRboardVO" alias="kosmorboardvo"/>
		<typeAlias type="a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO" alias="kosmoboardlikevo"/>
	</typeAliases>
</configuration>

4교시 (12:30-13:20)

좋아요 만들기

  • KosmoBoardLikeVO.java
package a.b.c.com.kosmo.like.vo;

public class KosmoBoardLikeVO {
	
	private String kblnum;
	private String kmnum;
	private String kbnum;
	private String kblike_cnt_1;
	private String kblike_cnt_2;
	private String kblike_cnt_3;
	private String kblike_cnt_4;
	private String kblike_cnt_5;
	private String kblike_cnt_6;
	private String deleteyn;
	private String insertdate;
	private String updatedate;
	
	// 생성자 
	public KosmoBoardLikeVO() {
	
	}
	
	public KosmoBoardLikeVO(String kblnum, String kmnum, String kbnum, String kblike_cnt_1, String kblike_cnt_2,
			String kblike_cnt_3, String kblike_cnt_4, String kblike_cnt_5, String kblike_cnt_6, String deleteyn,
			String insertdate, String updatedate) {
		
		this.kblnum = kblnum;
		this.kmnum = kmnum;
		this.kbnum = kbnum;
		this.kblike_cnt_1 = kblike_cnt_1;
		this.kblike_cnt_2 = kblike_cnt_2;
		this.kblike_cnt_3 = kblike_cnt_3;
		this.kblike_cnt_4 = kblike_cnt_4;
		this.kblike_cnt_5 = kblike_cnt_5;
		this.kblike_cnt_6 = kblike_cnt_6;
		this.deleteyn = deleteyn;
		this.insertdate = insertdate;
		this.updatedate = updatedate;
	}
	// setter/getter
	public String getKblnum() {
		return kblnum;
	}
	public void setKblnum(String kblnum) {
		this.kblnum = kblnum;
	}
	public String getKmnum() {
		return kmnum;
	}
	public void setKmnum(String kmnum) {
		this.kmnum = kmnum;
	}
	public String getKbnum() {
		return kbnum;
	}
	public void setKbnum(String kbnum) {
		this.kbnum = kbnum;
	}
	public String getKblike_cnt_1() {
		return kblike_cnt_1;
	}
	public void setKblike_cnt_1(String kblike_cnt_1) {
		this.kblike_cnt_1 = kblike_cnt_1;
	}
	public String getKblike_cnt_2() {
		return kblike_cnt_2;
	}
	public void setKblike_cnt_2(String kblike_cnt_2) {
		this.kblike_cnt_2 = kblike_cnt_2;
	}
	public String getKblike_cnt_3() {
		return kblike_cnt_3;
	}
	public void setKblike_cnt_3(String kblike_cnt_3) {
		this.kblike_cnt_3 = kblike_cnt_3;
	}
	public String getKblike_cnt_4() {
		return kblike_cnt_4;
	}
	public void setKblike_cnt_4(String kblike_cnt_4) {
		this.kblike_cnt_4 = kblike_cnt_4;
	}
	public String getKblike_cnt_5() {
		return kblike_cnt_5;
	}
	public void setKblike_cnt_5(String kblike_cnt_5) {
		this.kblike_cnt_5 = kblike_cnt_5;
	}
	public String getKblike_cnt_6() {
		return kblike_cnt_6;
	}
	public void setKblike_cnt_6(String kblike_cnt_6) {
		this.kblike_cnt_6 = kblike_cnt_6;
	}
	public String getDeleteyn() {
		return deleteyn;
	}
	public void setDeleteyn(String deleteyn) {
		this.deleteyn = deleteyn;
	}
	public String getInsertdate() {
		return insertdate;
	}
	public void setInsertdate(String insertdate) {
		this.insertdate = insertdate;
	}
	public String getUpdatedate() {
		return updatedate;
	}
	public void setUpdatedate(String updatedate) {
		this.updatedate = updatedate;
	}
}
  • KosmoLikeDAO.java
package a.b.c.com.kosmo.like.dao;

import java.util.List;

import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;

public interface KosmoLikeDAO {
		
	public List<KosmoBoardLikeVO> kosmoLikeSelect(KosmoBoardLikeVO kblvo);
	public List<KosmoBoardLikeVO> kosmoLikeSelectAll(KosmoBoardLikeVO kblvo);
	
	public int kosmoLikeInsert(KosmoBoardLikeVO kblvo);
	
	public int kosmoLikeUpdate_1(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_2(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_3(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_4(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_5(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_6(KosmoBoardLikeVO kblvo);

}
  • KosmoLikeDAOImpl.java
package a.b.c.com.kosmo.like.dao;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;

@Repository
public class KosmoLikeDAOImpl implements KosmoLikeDAO {
	Logger logger = LogManager.getLogger(KosmoLikeDAOImpl.class);
	
	@Autowired(required=false)
	private SqlSession sqlSession;

	@Override
	public List<KosmoBoardLikeVO> kosmoLikeSelect(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeInsert 함수 진입 >>> : ");
		return sqlSession.selectList("kosmoLikeSelect", kblvo);
	}

	@Override
	public List<KosmoBoardLikeVO> kosmoLikeSelectAll(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeSelectAll 함수 진입 >>> : ");
		return sqlSession.selectList("kosmoLikeSelectAll", kblvo);
	}
	
	@Override
	public int kosmoLikeInsert(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeInsert 함수 진입 >>> : ");			
		return (Integer)sqlSession.insert("kosmoLikeInsert", kblvo);
	}

	@Override
	public int kosmoLikeUpdate_1(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_1 함수 진입 >>> : ");			
		return (Integer)sqlSession.update("kosmoLikeUpdate_1", kblvo);
	}

	@Override
	public int kosmoLikeUpdate_2(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_2 함수 진입 >>> : ");			
		return (Integer)sqlSession.update("kosmoLikeUpdate_2", kblvo);
	}

	@Override
	public int kosmoLikeUpdate_3(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_3 함수 진입 >>> : ");			
		return (Integer)sqlSession.update("kosmoLikeUpdate_3", kblvo);
	}

	@Override
	public int kosmoLikeUpdate_4(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_4 함수 진입 >>> : ");			
		return (Integer)sqlSession.update("kosmoLikeUpdate_4", kblvo);
	}

	@Override
	public int kosmoLikeUpdate_5(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_5 함수 진입 >>> : ");			
		return (Integer)sqlSession.update("kosmoLikeUpdate_5", kblvo);
	}

	@Override
	public int kosmoLikeUpdate_6(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeDAOImpl kosmoLikeUpdate_6 함수 진입 >>> : ");			
		return (Integer)sqlSession.update("kosmoLikeUpdate_6", kblvo);
	}
}

5교시 (14:30-15:20)

좋아요 만들기

  • KosmoLikeService.java
package a.b.c.com.kosmo.like.service;

import java.util.List;

import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;

public interface KosmoLikeService {

	public List<KosmoBoardLikeVO> kosmoLikeSelect(KosmoBoardLikeVO kblvo);
	public List<KosmoBoardLikeVO> kosmoLikeSelectAll(KosmoBoardLikeVO kblvo);
	
	public int kosmoLikeInsert(KosmoBoardLikeVO kblvo);
	
	public int kosmoLikeUpdate_1(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_2(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_3(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_4(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_5(KosmoBoardLikeVO kblvo);
	public int kosmoLikeUpdate_6(KosmoBoardLikeVO kblvo);
	
}
  • KosmoLikeServiceImpl.java
package a.b.c.com.kosmo.like.service;

import java.util.List;

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import a.b.c.com.kosmo.like.dao.KosmoLikeDAO;
import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;

@Service
@Transactional
public class KosmoLikeServiceImpl implements KosmoLikeService {
	Logger logger = LogManager.getLogger(KosmoLikeServiceImpl.class);

	// 서비스에서 DAO 연결하기 
	// 필드 @Autowired 어노테이션으로  DI (의존성 주입하기)
	@Autowired(required=false)	
	private KosmoLikeDAO kosmoLikeDAO;

	@Override
	public List<KosmoBoardLikeVO> kosmoLikeSelect(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeSelect 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeSelect(kblvo);
	}

	@Override
	public List<KosmoBoardLikeVO> kosmoLikeSelectAll(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeSelectAll 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeSelectAll(kblvo);
	}

	@Override
	public int kosmoLikeInsert(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeInsert 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeInsert(kblvo);
	}
	
	@Override
	public int kosmoLikeUpdate_1(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_1 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeUpdate_1(kblvo);
	}
	
	@Override
	public int kosmoLikeUpdate_2(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_2 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeUpdate_2(kblvo);
	}

	@Override
	public int kosmoLikeUpdate_3(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_3 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeUpdate_3(kblvo);
	}

	@Override
	public int kosmoLikeUpdate_4(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_4 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeUpdate_4(kblvo);
	}

	@Override
	public int kosmoLikeUpdate_5(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_5 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeUpdate_5(kblvo);
	}

	@Override
	public int kosmoLikeUpdate_6(KosmoBoardLikeVO kblvo) {
		// TODO Auto-generated method stub
		logger.info("KosmoLikeServiceImpl kosmoLikeUpdate_6 함수 진입 >>> : ");			
		return kosmoLikeDAO.kosmoLikeUpdate_6(kblvo);
	}

}

6교시 (15:30-16:20)

좋아요 만들기

  • KosmoLikeController.java
package a.b.c.com.kosmo.like.controller;

import java.util.List;

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import a.b.c.com.kosmo.like.service.KosmoLikeService;
import a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO;

@Controller
public class KosmoLikeController {
	Logger logger = LogManager.getLogger(KosmoLikeController.class);
	
	// 필드 오토와이어드 
	@Autowired(required=false)
	private KosmoLikeService kosmoLikeService;
	
	
	@RequestMapping( value="kosmoBoardLikeForm", method=RequestMethod.GET)
	public String kosmoBoardLikeForm(KosmoBoardLikeVO kblvo, Model model) {	
		logger.info("KosmoLikeController kosmoBoardLikeForm >>> : ");
		
		kblvo.setKmnum("M202205050002");;
		kblvo.setKbnum("B0001");
		
		List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
		model.addAttribute("listAll", listAll);
		return "like/kosmoBoardLikeForm";
	}
	
	// like 등록
	@RequestMapping( value="kosmoLikeInsert_1", method=RequestMethod.POST)
	@ResponseBody
	public String kosmoLikeInsert_1(KosmoBoardLikeVO kblvo) {	
		logger.info("KosmoLikeController kosmoLikeInsert_1 >>> : ");
		
		logger.info("KosmoLikeController kosmoLikeInsert kblvo.getKblike_cnt_1() >>> : " + kblvo.getKblike_cnt_1());
		logger.info("KosmoLikeController kosmoLikeInsert kblvo.getKmnum() >>> : " + kblvo.getKmnum());
		logger.info("KosmoLikeController kosmoLikeInsert kblvo.getKbnum() >>> : " + kblvo.getKbnum());
							
		List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
		logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
		
		int nCnt = 0;
		if (listCnt !=null && listCnt.size() >  0) {
			nCnt = kosmoLikeService.kosmoLikeUpdate_1(kblvo);
			logger.info("KosmoLikeController kosmoLikeUpdate_1 nCnt >>> : " + nCnt);
		}else {
			nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
			logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);		
		}
		
		String kblike_cnt_1 = "";
		List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
		if (listAll !=null && listAll.size() > 0) {
			kblike_cnt_1 = listAll.get(0).getKblike_cnt_1(); 
		}
		return kblike_cnt_1;
	}
	
	@RequestMapping( value="kosmoLikeInsert_2", method=RequestMethod.POST)
	@ResponseBody
	public String kosmoLikeInsert_2(KosmoBoardLikeVO kblvo) {	
		logger.info("KosmoLikeController kosmoLikeInsert_2 >>> : ");
		
		logger.info("KosmoLikeController kosmoLikeInsert_2 kblvo.getKblike_cnt_2() >>> : " + kblvo.getKblike_cnt_2());
		logger.info("KosmoLikeController kosmoLikeInsert_2 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
		logger.info("KosmoLikeController kosmoLikeInsert_2 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
							
		List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
		logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
		
		int nCnt = 0;
		if (listCnt !=null && listCnt.size() >  0) {
			nCnt = kosmoLikeService.kosmoLikeUpdate_2(kblvo);
			logger.info("KosmoLikeController kosmoLikeUpdate_2 nCnt >>> : " + nCnt);
		}else {
			nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
			logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);		
		}
		
		String kblike_cnt_2 = "";
		List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
		if (listAll !=null && listAll.size() > 0) {
			kblike_cnt_2 = listAll.get(0).getKblike_cnt_2(); 
		}
		return kblike_cnt_2;
	}
	
	@RequestMapping( value="kosmoLikeInsert_3", method=RequestMethod.POST)
	@ResponseBody
	public String kosmoLikeInsert_3(KosmoBoardLikeVO kblvo) {	
		logger.info("KosmoLikeController kosmoLikeInsert_2 >>> : ");
		
		logger.info("KosmoLikeController kosmoLikeInsert_3 kblvo.getKblike_cnt_3() >>> : " + kblvo.getKblike_cnt_3());
		logger.info("KosmoLikeController kosmoLikeInsert_3 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
		logger.info("KosmoLikeController kosmoLikeInsert_3 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
							
		List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
		logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
		
		int nCnt = 0;
		if (listCnt !=null && listCnt.size() >  0) {
			nCnt = kosmoLikeService.kosmoLikeUpdate_3(kblvo);
			logger.info("KosmoLikeController kosmoLikeUpdate_3 nCnt >>> : " + nCnt);
		}else {
			nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
			logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);		
		}
		
		String kblike_cnt_3 = "";
		List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
		if (listAll !=null && listAll.size() > 0) {
			kblike_cnt_3 = listAll.get(0).getKblike_cnt_3(); 
		}
		return kblike_cnt_3;
	}
	
	@RequestMapping( value="kosmoLikeInsert_4", method=RequestMethod.POST)
	@ResponseBody
	public String kosmoLikeInsert_4(KosmoBoardLikeVO kblvo) {	
		logger.info("KosmoLikeController kosmoLikeInsert_4 >>> : ");
		
		logger.info("KosmoLikeController kosmoLikeInsert_4 kblvo.getKblike_cnt_4() >>> : " + kblvo.getKblike_cnt_4());
		logger.info("KosmoLikeController kosmoLikeInsert_4 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
		logger.info("KosmoLikeController kosmoLikeInsert_4 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
							
		List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
		logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
		
		int nCnt = 0;
		if (listCnt !=null && listCnt.size() >  0) {
			nCnt = kosmoLikeService.kosmoLikeUpdate_4(kblvo);
			logger.info("KosmoLikeController kosmoLikeUpdate_4 nCnt >>> : " + nCnt);
		}else {
			nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
			logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);		
		}
		
		String kblike_cnt_4 = "";
		List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
		if (listAll !=null && listAll.size() > 0) {
			kblike_cnt_4 = listAll.get(0).getKblike_cnt_4(); 
		}
		return kblike_cnt_4;
	}
	
	@RequestMapping( value="kosmoLikeInsert_5", method=RequestMethod.POST)
	@ResponseBody
	public String kosmoLikeInsert_5(KosmoBoardLikeVO kblvo) {	
		logger.info("KosmoLikeController kosmoLikeInsert_5 >>> : ");
		
		logger.info("KosmoLikeController kosmoLikeInsert_5 kblvo.getKblike_cnt_5() >>> : " + kblvo.getKblike_cnt_5());
		logger.info("KosmoLikeController kosmoLikeInsert_5 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
		logger.info("KosmoLikeController kosmoLikeInsert_5 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
							
		List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
		logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
		
		int nCnt = 0;
		if (listCnt !=null && listCnt.size() >  0) {
			nCnt = kosmoLikeService.kosmoLikeUpdate_5(kblvo);
			logger.info("KosmoLikeController kosmoLikeUpdate_4 nCnt >>> : " + nCnt);
		}else {
			nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
			logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);		
		}
		
		String kblike_cnt_5 = "";
		List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
		if (listAll !=null && listAll.size() > 0) {
			kblike_cnt_5 = listAll.get(0).getKblike_cnt_5(); 
		}
		return kblike_cnt_5;
	}
	
	@RequestMapping( value="kosmoLikeInsert_6", method=RequestMethod.POST)
	@ResponseBody
	public String kosmoLikeInsert_6(KosmoBoardLikeVO kblvo) {	
		logger.info("KosmoLikeController kosmoLikeInsert_6 >>> : ");
		
		logger.info("KosmoLikeController kosmoLikeInsert_6 kblvo.getKblike_cnt_6() >>> : " + kblvo.getKblike_cnt_6());
		logger.info("KosmoLikeController kosmoLikeInsert_6 kblvo.getKmnum() >>> : " + kblvo.getKmnum());
		logger.info("KosmoLikeController kosmoLikeInsert_6 kblvo.getKbnum() >>> : " + kblvo.getKbnum());
							
		List<KosmoBoardLikeVO> listCnt = kosmoLikeService.kosmoLikeSelect(kblvo);
		logger.info("KosmoLikeController kosmoLikeSelect listCnt >>> : " + listCnt);
		
		int nCnt = 0;
		if (listCnt !=null && listCnt.size() >  0) {
			nCnt = kosmoLikeService.kosmoLikeUpdate_6(kblvo);
			logger.info("KosmoLikeController kosmoLikeUpdate_6 nCnt >>> : " + nCnt);
		}else {
			nCnt = kosmoLikeService.kosmoLikeInsert(kblvo);
			logger.info("KosmoLikeController kosmoLikeInsert nCnt >>> : " + nCnt);		
		}
		
		String kblike_cnt_6 = "";
		List<KosmoBoardLikeVO> listAll = kosmoLikeService.kosmoLikeSelectAll(kblvo);
		if (listAll !=null && listAll.size() > 0) {
			kblike_cnt_6 = listAll.get(0).getKblike_cnt_6(); 
		}
		return kblike_cnt_6;
	}
}

7교시 (16:30-17:20)

좋아요 만들기

  • kosmoBoardLikeForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ page import="a.b.c.com.kosmo.like.vo.KosmoBoardLikeVO" %>
<%@ page import="a.b.c.com.kosmo.common.CodeUtil" %>
<%@ page import="a.b.c.com.kosmo.common.NumUtil" %>
<%@ page import="java.util.List" %>

<%@ page import="org.apache.log4j.LogManager" %>
<%@ page import="org.apache.log4j.Logger" %>

<% request.setCharacterEncoding("UTF-8"); %>
<%
	Logger logger = LogManager.getLogger(this.getClass());
	logger.info("kosmoBoardLikeForm.jsp 페이지 >>> : ");
	
	Object obj = request.getAttribute("listAll");
	if (obj == null) return;
	
	List<KosmoBoardLikeVO> list = (List<KosmoBoardLikeVO>)obj;
	int nCnt = list.size();
	
	String nCnt_1 = "";
	String nCnt_2 = "";
	String nCnt_3 = "";
	String nCnt_4 = "";
	String nCnt_5 = "";
	String nCnt_6 = "";
	KosmoBoardLikeVO _kblvo = null;
	if (nCnt == 1) {
		_kblvo = list.get(0);
		
		nCnt_1 = _kblvo.getKblike_cnt_1();
		nCnt_2 = _kblvo.getKblike_cnt_2();
		nCnt_3 = _kblvo.getKblike_cnt_3();
		nCnt_4 = _kblvo.getKblike_cnt_4();
		nCnt_5 = _kblvo.getKblike_cnt_5();
		nCnt_6 = _kblvo.getKblike_cnt_6();
	}
	
%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
	<script src="http://code.jquery.com/jqeury-latest.min.js"></script>
	<script type="text/javascript">
	
		$(document).ready(function(){
		
			// kblike_cnt_1
			$(document).on("click", "#kblike_cnt_1", function(e){
				alert("kblike_cnt_1 >>> : " + $(this).val());
				e.preventDefault();
				
				let boardLikeURL = "kosmoLikeInsert_1.k";
				let reqType = "POST";
				let dataParam = {
						kblike_cnt_1: $(this).val(),
						kmnum: $("#kmnum").val(),
						kbnum: $("#kbnum").val(),
				};
				
				// dataParam = $("#likeForm").sereialize();
				console.log("dataParam >>> : " + dataParam);
				
				$.ajax({
					url: boardLikeURL,
					type: reqType,
					data: dataParam,
					sucess: whenSuccess
				});
				
				function whenSuccess(resData) {
					alert("resData >>> : " + resData);
					console.log("resData >>> : " + resData);
					$("#like_1").text(resData).val();
				}
			});
			
			// kblike_cnt_2
			$(document).on("click", "#kblike_cnt_2", function(e){
				alert("kblike_cnt_2 >>> : " + $(this).val());
				e.preventDefault();
				
				let boardLikeURL = "kosmoLikeInsert_2.k";
				let reqType = "POST";
				let dataParam = {
						kblike_cnt_2: $(this).val(),
						kmnum: $("#kmnum").val(),
						kbnum: $("#kbnum").val(),
				};
				
				// dataParam = $("#likeForm").sereialize();
				console.log("dataParam >>> : " + dataParam);
				
				$.ajax({
					url: boardLikeURL,
					type: reqType,
					data: dataParam,
					sucess: whenSuccess
				});
				
				function whenSuccess(resData) {
					alert("resData >>> : " + resData);
					console.log("resData >>> : " + resData);
					$("#like_2").text(resData).val();
				}
			});
			
			// kblike_cnt_3
			$(document).on("click", "#kblike_cnt_3", function(e){
				alert("kblike_cnt_3 >>> : " + $(this).val());
				e.preventDefault();
				
				let boardLikeURL = "kosmoLikeInsert_3.k";
				let reqType = "POST";
				let dataParam = {
						kblike_cnt_3: $(this).val(),
						kmnum: $("#kmnum").val(),
						kbnum: $("#kbnum").val(),
				};
				
				// dataParam = $("#likeForm").sereialize();
				console.log("dataParam >>> : " + dataParam);
				
				$.ajax({
					url: boardLikeURL,
					type: reqType,
					data: dataParam,
					sucess: whenSuccess
				});
				
				function whenSuccess(resData) {
					alert("resData >>> : " + resData);
					console.log("resData >>> : " + resData);
					$("#like_3").text(resData).val();
				}
			});
			
			// kblike_cnt_4
			$(document).on("click", "#kblike_cnt_4", function(e){
				alert("kblike_cnt_4 >>> : " + $(this).val());
				e.preventDefault();
				
				let boardLikeURL = "kosmoLikeInsert_4.k";
				let reqType = "POST";
				let dataParam = {
						kblike_cnt_4: $(this).val(),
						kmnum: $("#kmnum").val(),
						kbnum: $("#kbnum").val(),
				};
				
				// dataParam = $("#likeForm").sereialize();
				console.log("dataParam >>> : " + dataParam);
				
				$.ajax({
					url: boardLikeURL,
					type: reqType,
					data: dataParam,
					sucess: whenSuccess
				});
				
				function whenSuccess(resData) {
					alert("resData >>> : " + resData);
					console.log("resData >>> : " + resData);
					$("#like_4").text(resData).val();
				}
			});
			
			// kblike_cnt_5
			$(document).on("click", "#kblike_cnt_5", function(e){
				alert("kblike_cnt_5 >>> : " + $(this).val());
				e.preventDefault();
				
				let boardLikeURL = "kosmoLikeInsert_5.k";
				let reqType = "POST";
				let dataParam = {
						kblike_cnt_5: $(this).val(),
						kmnum: $("#kmnum").val(),
						kbnum: $("#kbnum").val(),
				};
				
				// dataParam = $("#likeForm").sereialize();
				console.log("dataParam >>> : " + dataParam);
				
				$.ajax({
					url: boardLikeURL,
					type: reqType,
					data: dataParam,
					sucess: whenSuccess
				});
				
				function whenSuccess(resData) {
					alert("resData >>> : " + resData);
					console.log("resData >>> : " + resData);
					$("#like_5").text(resData).val();
				}
			});
			
			// kblike_cnt_6
			$(document).on("click", "#kblike_cnt_6", function(e){
				alert("kblike_cnt_6 >>> : " + $(this).val());
				e.preventDefault();
				
				let boardLikeURL = "kosmoLikeInsert_6.k";
				let reqType = "POST";
				let dataParam = {
						kblike_cnt_6: $(this).val(),
						kmnum: $("#kmnum").val(),
						kbnum: $("#kbnum").val(),
				};
				
				// dataParam = $("#likeForm").sereialize();
				console.log("dataParam >>> : " + dataParam);
				
				$.ajax({
					url: boardLikeURL,
					type: reqType,
					data: dataParam,
					sucess: whenSuccess
				});
				
				function whenSuccess(resData) {
					alert("resData >>> : " + resData);
					console.log("resData >>> : " + resData);
					$("#like_6").text(resData).val();
				}
			});
		});
		
	</script>
	<style type="text/css">
	
		div {
			margin: 0 auto;
			border: 1px solid #6d82f3;
			display:table;
		}
		
		td, th {
			padding: 5px;
		}
		
		h3 {
			text-align: center;
		}
		
		.mem {
			text-align: center;
		}
		
		a {
			text-decoration-line: none;
			/*   text-decoration-line: underline; */
			/*   text-decoration-line: overline; */
			/*   text-decoration-line: line-through; */
			/*   text-decoration-line: underline line-through overline; */
		}
	</style>
</head>
<body>
	<h3>좋아요</h3>
	<hr>
	<div>
		<form name="likeForm" id="likeForm">
			<table border=1>
				<tr>
					<td align="center">	

							<input type="hidden" name="kmnum" id="kmnum" value="<%= "M202205050002" %>" />
							<input type="hidden" name="kbnum" id="kbnum" value="<%= "B0001" %>" />
							<input type="image" src="/kosmoSpring/img/img_like/1.png" 
								width="35px" height="35px" class="kblike_cnt_1" name="kblike_cnt_1" value="01" /><br>
							<font size="1" style="color:gray;">좋아요</font><br>
							<span id="like_1"><%= nCnt_1 %></span>
					</td>
					<td align="center">
						<input type="image" src="/kosmoSpring/img/img_like/2.png" 
							width="35px" height="35px" class="kblike_cnt_2" name="kblike_cnt_2" value="02" /><br>
							<font size="1" style="color:gray;">응원해요</font><br>
							<span id="like_2"><%= nCnt_2 %></span>
					</td>
					<td align="center">
						<input type="image" src="/kosmoSpring/img/img_like/3.png" 
							width="35px" height="35px" class="kblike_cnt_3" name="kblike_cnt_3" value="03" /><br>
						<font size="1" style="color:gray;">축하해요</font><br>
						<span id="like_3"><%= nCnt_3 %></span>
					</td>
					<td align="center">
						<input type="image" src="/kosmoSpring/img/img_like/4.png" 
							width="35px" height="35px" class="kblike_cnt_4" name="kblike_cnt_4" value="04" /><br>
						<font size="1" style="color:gray;">기대해요</font><br>
						<span id="like_4"><%= nCnt_4 %></span>
					</td>
					<td align="center">
						<input type="image" src="/kosmoSpring/img/img_like/5.png" 
							width="35px" height="35px" class="kblike_cnt_5" name="kblike_cnt_5" value="05" /><br>
						<font size="1" style="color:gray;">놀랐어요</font><br>
						<span id="like_5"><%= nCnt_5 %></span>
					</td>
					<td align="center">
						<input type="image" src="/kosmoSpring/img/img_like/6.png" 
							width="35px" height="35px" class="kblike_cnt_6" name="kblike_cnt_6" value="06" /><br>
						<font size="1" style="color:gray;">슬퍼요</font><br>
						<span id="like_6"><%= nCnt_6 %></span>
					</td>
				</tr>
				<tr>
					<td colspan="6" align="center">
						<a href="#">
							<span class="u_ico"></span>
							<em class="u_txt _label">이 기사를 추천합니다</em>
							<em class="u_cnt _count">1</em>
						</a>
					</td>
				</tr>
			</table>
		</form>
	</div>
</body>
</html>
  • kosmoBoardSelect.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    
<%@ page import="a.b.c.com.kosmo.board.vo.KosmoBoardVO" %> 
<%@ page import="a.b.c.com.kosmo.common.CodeUtil" %> 
<%@ page import="java.util.List" %> 

<% request.setCharacterEncoding("UTF-8");%> 
<%	
	Object obj = request.getAttribute("listS");
	if (obj == null) return;

	List<KosmoBoardVO> list = (List<KosmoBoardVO>)obj;	
	int nCnt = list.size();
	
	KosmoBoardVO _kbvo = null;
	if (nCnt == 1){
		_kbvo = list.get(0);
	}	
%> 
    
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
	<script  src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script type="text/javascript">
	
		$(document).ready(function(){	
			
			//  pwBtn : 비밀번호 확인 
			$(document).on("click", "#pwBtn", function(){
				let input_kbpw = prompt('비밀번호를 입력하세요', 'aaa');			
				
				if (input_kbpw.length > 0){
					console.log(input_kbpw);
					
					let pwcheckURL = "kosmoBoardPwCheck.k";
					let reqType = "POST";
					let dataParam = {
						kbnum: $("#kbnum").val(),
						kbpw: input_kbpw,
					};
					//dataParam = $("#boardUpdateForm").serialize();
					console.log("dataParam >>> : " + dataParam);
					
					$.ajax({
						url: pwcheckURL,
						type: reqType,								
						data: dataParam,	            
						success: whenSuccess,
						error: whenError
					});
					
					function whenSuccess(resData){	
						console.log("resData >>> : " + resData);					
						if ("ID_YES" == resData){					
							alert("비밀번호 GOOD.");												
							$("#updateBtn").css('background-color','yellow');	
							if($("#updateBtn").prop("disabled")==true){
								  $("#updateBtn").attr("disabled", false);
							}
						}else if ("ID_NO" == resDataFlag){
							alert("비밀번호 BAD.");
							return;
						};				
					}
					function whenError(e){
						console.log("e >>> : " + e.responseText);
					}
				}						
			});
		
			
			//  insertBtn
			$(document).on("click", "#insertBtn", function(){
				location.href="kosmoBoardInsertForm.k";
			});
			
			// selectBtn
			$(document).on("click", "#selectAllBtn", function(){		
				$("#boardUpdateForm").attr({"method":"GET", "action":"kosmoBoardSelectAll.k"}).submit();		
			});
			
			//  updateBtn
			$(document).on("click", "#updateBtn", function(){
				alert("updateBtn");
				$("#boardUpdateForm").attr({ "method":"GET", "action":"#kosmoBoardUpdate.k"}).submit();
			});
			
		});		
			
	</script>
	<style type="text/css">
		
		div {		 
			margin: 0 auto; 		
			border:1px solid #6d82f3;
			display:table;
		}			
	
		td, th {
			 padding: 5px;
		}
	
		h3 {
			text-align: center;
		}
	
		.mem {
			text-align: center;
		}
			
	</style>
</head>
<body>
	<h3>게시글 내용</h3>
	<hr>
		<div>
			<form name="boardUpdateForm" id="boardUpdateForm">
				<table border=1>
					<tr>
						<td align="center">
							<font size="4" style="color:black;"><%= _kbvo.getKbsubject() %></font>
							<input type="hidden" name="kmnum" id="kmnum" value="<%= "M202206070001" %>" />
							<input type="hidden" name="kbnum" id="kbnum" value="<%= _kbvo.getKbnum() %>" />
						</td>
					</tr>
					<tr>
						<td align="left">
							<font size="1" style="color:gray;">
							최초작성일 : <%= _kbvo.getInsertdate() %> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							최종수정일 : <%= _kbvo.getUpdatedate() %>
							</font>
						</td>
					</tr>
					<tr>
						<td align="center"> 
							<img src="/kosmoSpring/fileupload/board/<%= _kbvo.getKbfile() %>" border="1" width="380" height="100" alt="image">
						</td>
					</tr>
					<tr>
						<td align="center">
							<textarea name="kbcontent" id="kbcontent" rows="5" cols="50"><%= _kbvo.getKbcontent() %></textarea>
						</td>
					</tr>
					<tr>
						<td align="left">
							<font size="1" style="color:gray;">
							작성자 : <%=  _kbvo.getKbname() %>
							</font>
						</td>
					</tr>
					<!-- 
					<tr>
					<td>패스워드
					<input type="text" name="kbpw" id="kbpw"  />
					<button type="button" id="pwBtn">비밀번호</button>
					</td>	 	 
					 -->
					<tr>
						<td colspan="2" align="left"> 
							<button type="button" id="insertBtn">글쓰기</button>
							<button type="button" id="selectAllBtn">글목록</button>
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;		
							<button type="button" id="updateBtn" disabled >수정</button>
							<button type="button" id="pwBtn">비밀번호확인</button>
						</td>				
					</tr>
				</table>
			</form>
		</div>
	<p>
	<!-- 좋아요 처리 하는 루틴  --> 
	<jsp:include page="/kosmoBoardLikeForm.k">
		<jsp:param value="B0001" name="kbnum"/>
		<jsp:param value="M202205050002" name="kmnum"/>
	</jsp:include>	
	<p>
	<!-- 댓글 처리 하는 루틴  --> 
	<jsp:include page="/kosmoRboardForm.k">
		<jsp:param value="<%=_kbvo.getKbnum()%>" name="kbnum"/>
	</jsp:include>	
</body>
</html>


8교시 (17:30-18:30)

좋아요 만들기

  • index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>index.jsp</h3>
	<hr>
	<a href="kosmoProductInsertForm.k">코스모 상품 입력</a><br>
	<a href="kosmoProductSelectAll.k">코스모 상품  전체조회</a><br>
	<p>
	<a href="kosmoMemberInsertForm.k">코스모 회원 입력</a><br>
	<a href="kosmoMemberSelectAll.k">코스모 회원 전체조회</a><br>
	<p>
	<a href="kosmoLoginForm.k">코스모 로그인</a><br>
	<p>
	<a href="kosmoMainPage.k">코스모 메인</a><br>
	<p>
	<a href="kosmoBoardInsertForm.k">코스모 게시판 글쓰기</a><br>
	<a href="kosmoBoardSelectAll.k">코스모 게시판 전체조회</a><br>
	<p>
	<a href="kosmoRboardForm.k">코스모 댓글 쓰기 </a><br>
	<p>
	<a href="kosmoBoardLikeForm.k">코스모 게시판 좋아요 </a><br>
</body>
</html>


Notes


728x90