web/Spring
Mybatis에서 parameterType을 List로 insert하기
Mybatis에서 parameterType을 List로 지정하여 쿼리를 수행하고 싶은 경우 다음과 같이 진행한다, 1234567891011121314151617181920212223// 전송 데이터 형식List accouts = new ArrayList();accounts.add(new AccountDto("wedul", 123);accounts.add(new AccountDto("cjung", 456); accountDao.insertAccounts(accounts); // MybatisINSERT INTO account( id, age) VALUES ( #{item.id} ,#{item.age}) Colored by Color Scriptercs
Spring 프로젝트에서 src/main/resource 경로에 파일접근 방법
/src/main/resource에 존재하는 파일에 접근하고 싶은 경우에 다음과 같이 접근한다. 1234567// 파일 위치src/main/resource/file/test.text // 소스getClass().getResource("/file/test.txt");=> 만약 static block에서 사용하고자 하는 경우에는 getClass가 동작하지 않기 때문에getClass 대신 클래스명.class.getClassLoader을 사용한다.cs
외부 properties 파일을 이용해서 스프링 빈을 생성하는 방법
1. XML에서 프로퍼티 설정 12345678910111213141516// xml // properties 파일db.driver=com.mysql.jdbc.Driverdb.jdbcUrl=jdbc:mysql://localhost/spring4fs?characterEncoding=utf8db.user=testdb.password=testColored by Color Scriptercs 태그는 location 속성으로 지정한 프로퍼티 파일로부터 정보를 읽어와 빈 설정에 입력한 플레이스 홀더의 값을 프로퍼티 파일에 존재하는 값으로 변경한다. # place holder는 ${로 시작하고 }로 끝나는 값. 주의 할 점은 서로 다른 xml에서 서로다른 위치에 프로퍼티 파일을 사용한다고 해도 먼저 열린 프로퍼티 값이..
java.lang.Error: Unresolved compilation problem
프로젝트를 git을 통해서 내려받고 실행시키고자 할때, 가끔 다음과 같은 오류가 발생할 때가 있다. java.lang.Error: Unresolved compilation problem 이 경우 해결방법은 2가지이다. 1. 프로젝트 clean2. tomcat clean, tomcat 디렉토리 clean
spring에서 List 또는 Array 데이터를 Controller에서 받기
컨트롤러에서 List데이터를 받아서 매핑하기 위해서 필요한과정을 정리해본다. 1. List 데이터를 받기 먼저 controller에서 @RequestBody List를 받도록 설정한다. 그리고 ajax를 통해서 요청하는 부분에서 다음과 같이 진행한다. 1234567let data = [{'name':'cjung', 'age':30}, {'name':'wedul', 'age':28}]; $.ajax({ url:...., type:..., param: JSON.stringify(data);});Colored by Color Scriptercs 2. DTO객체 안에 LIST 변수에 데이터를 매핍 하고자 하는경우 기존에 습관대로 진행을 다음과 같이 먼저 해보자. 12345678910111213141516// j..
UriComponents 클래스
UriComponents 클래스 UriComponents클래스는 Path나 query에 해당하는 문자열들을 추가해서 원하는 URI를 생성할 때 사용한다. UriComponents uricomponets = UriComponentsBuilder.newInstance().path("/board/read").queryParam("bno",12).queryParam("perPageNum", 20).build(); logger.info(uricomponets.toString()); 다음과 같이 지정하게 되면, INFO : com.wedul.spring.UriComponentsTest - /board/read?bno=12&perPageNum=20 다음과 같이 설정되어 출력된다.
Mybatis의 동적 SQL
Mybatis의 동적 SQL Mybatis가 가지는 표현식은 다음과 같다. IfChoose(when, otherwise)Trim(where, set)Foreach 기능 사용 예 설명 if AND title like #{title} 코드로 작성할 때의 if 구문에 대한 처리 -> 참 거짓을 구별해서 사용할 때 처리한다. Choose, When, otherwise AND title like #{title"" AND author_name like #{author.name} AND featured = 1 switch와 같은 상황에 대한 처리 Trim, Where,set … 로직을 처리하면서 필요한 구문을 변경 foreach
STS의 github 연동
1. http://wedul.tistory.com/6 에서 해당 작업을 선진행한다. 2. cmd창 또는 terminal창을 키고 저장할 저장소를 먼저 clone한다.git clone "저장소의 ssh주소" 저장소가 없을 경우에는 github에서 저장소를 먼저 생성한다. 3. STS에서 현재 프로젝트에 우측 클릭한 후 "Team" -> "Share Project.."를 선택한다. 저장소를 복제한 위치를 repository경로에 추가하고 추가하고 싶은 프로젝트를 선택하고 확인을 누른다. 4. window -> show view -> git을 선택한 후 보여지는 git 저장소에서 commit을 눌러서 저장소에 올린다. 5. github에 프로젝트가 추가된것을 확인할 수 있다.
Mybatis의 #{} 문법 사용방법
Mapper에서 #{num}에 들어가는 값은 getNum(), setNum()을 의미한다. 만약 하나의 mapper에서 두 개이상의 #{userid}, #{userpw} 와 같이 사용된다면 그것은 map의 형태로 들어오는 데이터의 key값이 안에 들어가 있는 문자열이다. 예를 들어 mapper에 insert into tbl_member (userid, userpw, username, email) values (#{userid}, #{userpw}, #{username}, #{email}) 다음과 같이 되어 있을 경우 DAOImpl 클래스에서 Public