본문 바로가기
반응형

Spring20

spring 예제 part.11 다음으로는 list페이지를 만들어볼것이다. 매번 확인을 데이터베이스에서 하는것도 불편했고 사람들에게 리스트를 보여주려면 전체 리스트 페이지가 필요할것이다. 먼저 sql을 짜보자. bookSQL.xml 추가 select book_id, title, category, price, insert_date from book order by insert_date desc ]]> bookDao.java 추가 public List selectList(Map map) { return this.sqlSessionTemplate.selectList("book.select_list", map); } List는 java.util.*; 안에 있는 패키지다.그리고 혹시 list에 빨간줄이 뜨면 List패키지를 import 해준다... 2021. 12. 25.
spring 예제 part.10 개인적으로 이런 페이지를 구현할때 필자의 경우는 list > select > insert > update > delete 순서로 페이지를 구축하곤 한다. 그리하여 이번엔 삭제 기능을 구현해볼것이다. 일단 먼저 book_SQL.xml파일에 delete 쿼리를 추가하자. bookSQL.xml 에 delete 쿼리 추가 delete from book where book_id = #{bookId} ]]> bookDao.java 추가 public int delete(Map map) { return this.sqlSessionTemplate.delete("book.delete", map); } bookServiceImpl.java,서비스 파일 추가 @Override public boolean remove(Map m.. 2021. 12. 24.
spring 예제 part.9 지금 까지 잘 따라왔다면 http://localhost:8080/create 에서 하나를 입력하면 데이터베이스에 잘 저장이 되면서 책 상세 화면이 나올것이다. 상세 페이지를 만들때 수정과 삭제, 목록 보여주기 버튼을 만들어놨으니 이것또한 활성화를 시켜보자! 먼저 수정 버튼을 활성화 할것이다. 지금까지 잘 따라왔다면 아마 느낌이 올것이다. 컨트롤러 추가 뷰 만들어주기 서비스 활성화 쿼리작성 dao작성 이렇게 5가지를 해주면 된다. 순서는 굳이 상관은 없으니 자기만의 편한 방식을 만들어보자. 컨트롤러 추가 (bookController.java 추가) @RequestMapping(value = "/update", method = RequestMethod.GET) public ModelAndView update.. 2021. 12. 23.
spring 예제 part.8 저번 시간에 이어서 이번엔 책 입력을 하고 난 다음의 페이지를 만들어볼것이다. 데이터는 데이터베이스로 입력은 되나 다음 페이지를 만들어두질 않아서 404 에러가 떴을것이다. 상세화면 주소를 보여주기 위해서는 /detail?bookId=1 주소로 매핑을 할것이다. 책 상세보기 쿼리는 select title,category, price, insert_date from book where book_id=1 이런 식으로 쿼리가 짜지므로 저번에 만든 book_SQL.xml파일에 추가한다! bookSQL.xml 파일에 select 쿼리 추가 select title, category, price, insert_date from book where book_id = #{bookId} ]]> bookDao.java 에 .. 2021. 12. 22.
spring 예제 part.7 이번 시간엔 저번 포스팅에서 설정한 데이터베이스로 쿼리를 날려볼것이다. 그러기 위해서는 mybatis를 사용하고 xml파일을 통해서 쿼리를 저장해야한다. sql 을 적을 xml파일생성 > book.xml (그 안에 mapper 태그를 생성하여 쿼리를 입력해준다.) 위치는 src/main/resources 안에 sqlmap이라는 폴더를 생성후에 그 폴더 안에 book_SQL.xml이라는 파일을 만들었다. 쿼리 하나하나가 이 mapper 사이로 들어갈것이다. insert sql 구문 작성 insert into book (title, category, price) values (#{title}, #{category}, #{price}) ]]> ( 쿼리 안에 쉼표나 샾 등 기호를 구분하기 위해서 사용되는 표현식.. 2021. 12. 21.
spring 예제 part.6 저번시간까지 화면에 보이는 페이지를 준비했고, 이번엔 보이고 쓰이고, 수정되고 삭제될 데이터를 저장할 데이터베이스 셋팅을 해보겠다. 일단 먼저 데이터베이스가 설치가 안되어 있으면 참고 포스팅을 참조. book 데이터베이스 생성 book 테이블 생성 (데이터베이스 명은 book으로 지정하였고 계정은 root 계정으로 그냥 진행할것이다. 실제로 상용화가 될 예정이라면 root보다는 다른 계정을 만들고 권한을 부여하여 사용하는것이 바람직하다.) create database book; CREATE TABLE `book` ( `book_id` BIGINT NOT NULL AUTO_INCREMENT, `title` VARCHAR(200) NOT NULL, `category` VARCHAR(200) NOT NULL .. 2021. 12. 20.
spring 예제 part.5 이번엔 만든 프로젝트에서 화면과 페이지들을 만들어볼것이다. 기본패키지에 클래스를 추가 > BookController.java (만약 아래 그림처럼 바로 new에 보이게 하고 싶을때는 아래 참고 포스팅 참조) controller class에 @Controller 어노테이션 추가 (import org.springframework.stereotype.Controller; ) url 요청이 create일때 반응 하도록 controller에 Get메서드 추가 @Controller public class BookController { @RequestMapping(value = "/create", method = RequestMethod.GET) public ModelAndView create() { return n.. 2021. 12. 19.
spring 예제 part.4 지금까지 프로젝트를 생성하였고 코딩에 앞서서 pom.xml 부분을 점검하고 maven build를 진행해볼것이다. 프로젝트명 우클릭 > properties > java build path > library 에서 자바 버전 11 설정 pom.xml 설정 1.11 5.2.5.RELEASE 위 두줄을 찾아서 각자 버전에 맞게 변경해준다. maven build (pom.xml을 변경 후에는 필수) 프로젝트명 우클릭 > run as > maven clean 프로젝트명 우클릭 > run as > maven build (build가 처음일때는 edit configuration창이 뜨는데 goals 부분에 compile이라고 써주고 실행) 다음으로는 spring이 동작할 서버를 설정해준다. tomcat9 설치 http.. 2021. 12. 17.
spring 예제 part.3 이번 포스팅 부터 본격적으로 프로젝트를 만들것이다. file > new > other에서 spring검색후 springLegacyProject 생성 (적당한 프로젝트 이름 /패키지 명 설정) 설치 중 이상한 오류가 떴다. Could not initialize class com.thoughtworks.xstream.converters.collections.PropertiesConverter An error has occurred. See error log for more details. java.lang.ExceptionInInitializerError 이런 에러가 나왔는데 해결법은 아래 참조 포스팅 확인 생성완료가 되면 아래 사진처럼 패키지 트리가 나타날 것이다. 참고 포스팅 spring legacy 생.. 2021. 12. 16.
반응형