본문 바로가기

728x90
반응형

programming

(130)
국비 교육 91일차 - 검색 기능 완성 프로젝트 발표가 얼마남지 않아서 이번주에는 프로젝트와 관련한 기능을 수업시간에 구현해주고 계신다. 그 중에서 내가 맡은 검색 기능을 다시 구현해주셔서 만들어봤다. 수업시간에 예제로 해봤지만 포스팅은 프로젝트 내용으로 해보겠다. 일단 검색기능을 구현할 css를 만들어 준다. 책 제목 저자 책 제목+저자 일단 이렇게 만들어 줬다. 어떤 검색어로 찾을건지 select id를 지정을 해주고, 검색어를 받아와서 역시 keyword로 받아준다. 위의 코드에서는 현재 cno, page를 받아왔지만 일단 생략하고 가겠다. 이렇게 만들어 줬으면 VO를 만들어준다. private String findTitle; private String userFind; public String getFindTitle() { return..
국비 교육 89일차 - 차세대 개발, java로만 spring 개발하기 제목 그대로 xml 없이 자바로만 스프링을 사용할 수 있는데, 이걸 차세대 개발이라고 칭한다. 어노테이션만을 이용해서 스프링 개발이 가능하다. package com.sist.config; import javax.inject.Scope; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.mapper.MapperFactoryBean; import org.springframework.context.a..
국비 교육 88일차 - ajax이용 댓글창 띄우기 ajax로 댓글창을 띄우려면 먼저 detail 페이지에서 띄울 공간을 먼저 셋팅해준다 그리고 detail에서 get 방식으로 게시물 번호와 페이지 정보를 보내주기 위해 위에 스크립트로 이렇게 작성한다 controller에서 reply_list.do를 받으면 아래와 같이 실행된다 @GetMapping("board/reply_list.do") // board/reply_list.do?bno=1&page=2 public String board_reply_list(int bno,int page,Model model) { List rList=service.replyListData(bno); model.addAttribute("page", page); model.addAttribute("rList", rList);..
국비 교육 87일차 - 동적쿼리연습, 대댓글 게시판 /* * => 단일 조건문 * 실행 SQL * name=#{name} * * => 다중 조건문 * * SQL * SQL * ==> else * * * => => IN(값,값,값...) * * #{name} * * => => 추가 , 제거 * * prefix="" : 앞에 추가 * suffix="" : 맨뒤에 추가 * prefixOverrrides="OR" : 제거 * */ 마이마티스에서 동적쿼리를 쓰는 연습을 해봤다. 단일조건문인 if, 다중조건문 choose~when, foreach, trim 등을 배우고 적용해보는 연습을 했다. 그리고 나서 대댓글 게시판을 완성하는데 주력했다. 일단 저번에 배우긴 배웠으니 쓰는 방법만 간단하게 정리하려고 한다. private int no,bno,group_id,gro..
국비 교육 86일차 - Mybatis 동적 쿼리 동적쿼리와 aop 처리를 실습해보기 위해 게시판을 완성하는 프로젝트를 만들어봤다. 일단 로그인 처리부터 보면 SELECT COUNT(*) FROM webmember WHERE id=#{id} SELECT pwd,name FROM webmember WHERE id=#{id} 아이디가 존재하는지 확인하는 쿼리문, 비밀번호가 맞는지 확인하는 커리문장을 쓴다. public String isLogin(String id, String pwd) { String result=""; int count=getSqlSession().selectOne("memberIdCount", id); if(count==0) { result="NOID"; } else { MemberVO vo=getSqlSession().selectOne..
국비 교육 85일차 - transaction , AOP 프로그램 한번에 여러가지 이벤트가 동시에 처리 되는 것을 transaction 프로그램이라고 한다. 한 이벤트에 에러가 있으면 모든 이벤트가 전부 처리되지 않는 프로그램이다. package com.sist.dao; import org.springframework.stereotype.Repository; import java.util.*; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import java.sql.*; @Repository public class MemberDAO { private Connection conn; private PreparedStatement ps; private final String URL="j..
국비 교육 84일차 - spring tiles 정처기 실기 본다고 복습 블로깅을 제대로 못했다. 오늘부터 다시 열심히 고고 일단 tiles를 쓰면 구조가 이렇게 된다 WEB-INF 폴더 밑에 XML 파일을 만들어주고, 내용은 아래와 같이 설정해준다. 가장 기본으로 깔릴 파일을 defintion name에 설정을 해둔다. 그리고 그 안에 include될 파일들의 name과 경로명을 설정해준다. 그리고 include 해줄 자리에 를 써서 화면이 출력되게 만들어 준다. 위에는 기본적인 예제였다면 아래는 실제 프로젝트처럼 완성을 해봤다. 만약 main위에 있는 content의 내용을 계속 바꿔주려면 이렇게 코드를 써주면 된다. package com.sist.web; import org.springframework.stereotype.Controller; i..
국비 교육 83일차 - AJAX 검색 기능 활용 이번주 내내 spring 구조를 배우고 있어서 거의 실제 프로젝트에 적용하는데 주력하고 있다. 이렇게 음악 리스트를 출력하고 ajax를 통해 검색하는 방법을 살펴보겠다. $(function(){ $('#keyword').keyup(function(){ let k=$(this).val(); $('#user-table > tbody > tr').hide(); let temp=$('#user-table > tbody > tr > td:nth-child(6n+4):contains("'+k+'")'); $(temp).parent().show(); }) }); 이게 값을 찾아오는 ajax코드 노래 제목으로 값을 찾아오고 있기 때문에, td의 4번째 값들에 검색어로 받아온 값(k)가 있는지 찾는다. 만약 있다면 그 ..
국비 교육 82일차 - oracle index 활용 이번 시간에는 데이터를 검색해서 빠르게 값을 가져올 수 있는 방법 중 하나인 oracle index 검색방법을 포스팅해보고자 한다. sqldeveloper에 검색을 실제로 해보면 그 시간이 엄청 단축된 것을 확인할 수 있다. select /*+index asc(recipe recipe_no_pk) */ no, poster from recipe; 이렇게 조회할 컬럼의 인덱스명을 주고 같이 검색을 하면 데이터를 가져오는 속도가 ORDER BY를 썼을때보다 더 빨라진다. 그리고 저번에도 배웠던 BLOCK 페이징 기법 final int BLOCK=10; int startPage=((curpage-1)/BLOCK*BLOCK)+1; //curpage=1~10 => 1 블록 시작위치 // [1][2]...[9] in..
국비 교육 81일차 - annotation service 하루에 배운걸 두 포스팅에서 나눠서 하고 있다는건.. 오늘 내가 배운게 많다는 뜻이겠지? 힘들어 죽겠다. 복습만 몇시간째 하는지... 일단 배운 내용을 써보자면 Mybatis에서 join을 걸어서 값을 가져오는 방법과 service annotation을 활용해서 dao를 한꺼번에 관리하는 방법이다. 일단 모든것의 시작은 VO부터 package com.sist.dao; // 사용자 정의 데이터형 : 데이터형 여러개를 모아서 한개로 통합 => 데이터를 모아서 한번에 전송 import java.util.*; public class EmpVO { private int empno; private String ename; private String job; private int mgr; private Date hi..

728x90
반응형