전체 글에 해당하는 글 292

  1. Spring 기초 : 의존성 주입(DI) 2022.08.23

    DI란 Dependency Injection으로, 의존성 주입이라는 의미를 가지고 있다. AOP와 더불어 스프링의 주된 개발 방식이다. DI는 객체에 속성값을 주입하여 모듈간의 결합도를 낮추고 유연한 코딩이 가능하도록 돕는다. 즉, 유지보수가 쉽도록 세팅할 수 있다! DI는 크게 3종류가 있다. p: 속성으로 prpoerty를 세팅하고, c: 속성으로 생성자를 세팅하고, 메서드 DI → 객체 생성시/소멸시에 사용하는 init-method와 destroy-method를 등록한다. 메서드는 자동 로그인이나 쿠키, 드라이버 등록 등에 활용할 수 있다. 간단한 예시! ↓ 스프링의 핵심은 DI와 AOP! 스프링에서는 XML파일(Spring Bean Configuration File)이나 자바로 구현한 Config..


  2. Spring 기초 : 기본 정보 - 수정중 2022.08.22

    보호되어 있는 글입니다.


  3. Spring 설치 2022.08.19

    https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3https://spring.io/tools 호환성을 위해! 위 링크에서 STS(Spring Tool Suite) 3버전 다운로드! 초기 세팅 Preference 메뉴에서 HTML, JSP, CSS 파일 인코딩 UTF-8로 변경 프로젝트 생성시 세팅 프로젝트 properties 에서 project facets java 1.8 이상으로 세팅 (스프링5는 최소 jdk 1.8 이상) STS 실행 에러 (exit code=-1073740791) 발생시! STS를 깔고 실행했더니 이런 에러가 뜨고 실행이 되지 않았다... 수소문해보니 javaw.exe의 경로를 찾지 못해서 뜬..


  4. regexp - 수정중 2022.08.18

    보호되어 있는 글입니다.


  5. [보충] 중복 없는 난수 발생시키기 2022.08.17

    public static String getRand() { String result = ""; int[] rand = new int[(int)(Math.random() * 4) + 5]; //5~8 int num = 0; boolean bCheck = false; for (int i = 0; i < rand.length; i++) { bCheck = true; while (bCheck) { num = (int)(Math.random() * 14) + 1; //1~14 bCheck = false; for (int j = 0; j < i; j++) { if (rand[j] == num) { //중복되는 상황 bCheck = true; break; } } } rand[i] = num; } //정렬 for (i..


  6. MyBatis + MVC 실습 (9) : 찜하기 기능(소스코드만 정리) 2022.08.16

    테이블 생성 create table jjim( no number, id varchar2(20), fno number, constraint jjim_no_pk primary key(no), constraint jjim_fno_fk foreign key(fno) references food_house(fno) ); create table food_like( no number, id varchar2(20), fno number, constraint fl_no_pk primary key(no), constraint fl_fno_fk foreign key(fno) references food_house(fno) ); food-mapper.xml SELECT NVL(MAX(no)+1,1) as no FROM jji..


  7. MyBatis + MVC 실습 (8) : 묻고답하기 게시판(소스코드만 정리) 2022.08.16

    글 쓰기 boardreply-mapper.xml SELECT NVL(MAX(no)+1,1) as no FROM project_replyboard INSERT INTO project_replyboard(no,name,subject,content,pwd,group_id) VALUES(#{no},#{name},#{subject},#{content},#{pwd},(SELECT NVL(MAX(group_id)+1,1) as group_id FROM project_replyboard)) SELECT CEIL(COUNT(*)/10.0) FROM project_replyBoard BoardReplyDAO.java(Class) package doo.doo.dao; import java.io.Reader; import j..


  8. MyBatis + MVC 실습 (7) : 회원수정/회원탈퇴(소스코드만 정리) 2022.08.12

    로그인 처리 member-mapper.xml SELECT COUNT(*) FROM project_member WHERE id=#{id} SELECT pwd, id, name, admin FROM project_member WHERE id=#{id} MemberDAO.java(Class) package doo.doo.dao; import doo.doo.vo.*; import java.io.*; import java.util.*; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.iba..


  9. JSP로 달력 만들기(코드 참고용) 2022.08.11

    DateModel.java package doodoo.model; import javax.servlet.http.HttpServletRequest; import java.util.*; import java.text.*; public class DiaryModel { public String diary_main(HttpServletRequest request) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d"); String today = sdf.format(date); StringTokenizer st = new StringTokenizer(today,"-"); String sy = st.nextToken();..


  10. MyBatis : JOIN, IN 2022.08.09

    MyBatis에서 JOIN과 IN을 어떻게 사용하는지 간단한 예제로 한 번 구현해 보자. 아래처럼 직원들의 이름과 체크박스가 나오고, 원하는 직원을 선택하여 전송버튼을 누르면 선택한 직원의 정보를 출력하는 애플리케이션이다. 1. EmpVO와 DeptVO와 같은 데이터형을 세팅한다. EmpVO.java (Class) 부서 정보를 JOIN하여 함께 가져올 것이므로! EmpVO 내에 DeptVO의 객체를 매개변수(포함 클래스)로 선언한다. package doodoo.dao; import java.util.*; import lombok.Getter; import lombok.Setter; @Getter @Setter public class EmpVO { private int empno, mgr, comm, sa..