

롬복설치 완료되면 STS끄고 다시 실행해야 깔림!
이제 model.vo 내용은 어노테이션으로 생성할 꺼임
@NoArgsConstructor :기본생성자
@AllArgsConstructor :
@Getter
@Setter
@ToString

/**** 파라미터 전송 받기****/
@RequestMapping(value="login.me", method=RequestMethod.POST)
public String login(HttpServletRequest request) {
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
}
//value => view에서 받아올 파라미터 이름 value는 디폴트 속성이기 때문에 생략 가능!!
//defaultValu => 들어오는 값이 없을 때 설정한 값으로 채워 넣는다. 값이 있으면 값으로 나옴
//view에 없는 requestParam value ="test"를 넣어보자
//400error 내가 요청하지 않은 파라미터가 들어가 있다.
//Required request parameter 'test' for method parameter type String is not present
//하지만 test파라미터는 지금당장은 필요하지 않지만 나중에(페이징처리) 필요해!!!
//value="test" 옆에 required=fales를 넣어 줌으로 써 꼭 필요하지 않은 속성으로 인식 시켜 준다.
System.out.println("id2:"+id);
System.out.println("pwd2:"+pwd);
System.out.println("test : "+test);
// //RequestParam은 넘어온 값이 int라면 굳이 파싱 할 필요 없는 장점이 있다.!!
//
return null;
// }
// 페이징 처음에는 커런트 페이지가 없지만 페이지를 누를시 커런트페이지가 생김!!
// 3. @RequestParam 생략
// @RequestMapping(value="login.me", method=RequestMethod.POST)
// public String login(String id, String pwd) {
//
// //내가 view에서 넘기는 파라미터 name과 컨트롤러에서 받는 파라미터명이 같으면 requestParam 생략가능
// //생략해도 매핑이됨!! 파라미터 명만 신경써주면 굉장히 편한데.......
// //사실 선생님은 3번방법 비추!!!!!!!!
// //습관이 들면 회사가서도 어노테이션을 생략하게 될건데 회바회이므로 알아서 하기
// //어노테이션을 써야 가독성도 있고, 어떻게 받아오는지 알수 있다.
//
// System.out.println("id3:"+id);
// System.out.println("pwd3:"+pwd);
//
// return null;
// }
// 4.@ModelAttribute 이용
// @RequestMapping(value="login.me", method=RequestMethod.POST)
// public String login(@ModelAttribute Member m) {
//
// System.out.println("id4:"+m.getId());
// System.out.println("pwd4:"+m.getPwd());
//
// return null;
// }
//5.@modelAttribtute생략
// @RequestMapping(value="login.me", method=RequestMethod.POST)
// public String login(Member m) {
//
//// System.out.println("id5:"+m.getId());
//// System.out.println("pwd5:"+m.getPwd());
//
// //결합도가 높다! 확인하기
//
// //1. 매 요청마다 새로운 객체가 만들어짐
// //2. 클래스 명을 변경할 때 마다 직접적인 영향을 받음
//
//
//
// Member loginUser =mService.login(m);
// //매번 서비스 객체 생성하지 말고 필드에 private로 서비스 객체를 넣어버리자
//
// return null;
// }




<!-- Root Context: defines shared resources visible to all other web components -->
<!-- DataSource 등록 -->
<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="MOCO"/>
<property name="password" value="MOCO"/>
</bean>
<!-- SqlSessionTemplate 빈 등 -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSession"/>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
혹시 빨간줄이 뜬다면? lib가 없기 때문에 pom.xml에 라이브러리 추가하기!!
마이바티스 라이브러리 설치했니?
그러면 스프링과 마이바티스 연결할수 있는 커넥션도 따로 받아야 함!!
mybatis와 mybatis spring 둘다 받아야 함!!

db연결과 관련된 pom.xml
preference에서 xml Catalog클릭
user specified entres 클릭 후 add 클릭



location
http://mybatis.org/dtd/mybatis-3-config.dtd
key
-//mybatis.org//DTD Config 3.0//EN
카탈로그 처럼 반복 해서 추가해준다.
location
http://mybatis.org/dtd/mybatis-3-mapper.dtd
key
-//mybatis.org//DTD Mapper 3.0//EN
큰 resource에 mybatis-config.xml 이름을 적고 넥스트




큰 resource부분에 folder만들기 mapper
폴더 안에 member-mapper.xml
넥스트 클릭 후

DTD 클릭 후 넥스트

mapper클릭 후 에러 나는지 확인 하고 피니쉬

context-param 꼭 넣어야 됨!!