myBatis2
2024. 2. 16. 18:04ㆍDaily Codig Reminder
controller => list 주소 처리
return void로 설정
service.list()함수 이용 전체 데이터 select
전체 데이터 sysout확인 후 model에 저장
list.jsp로 응답위임
list.jsp =>
el태그 이용 전체 테이터 출력
main.jsp 수정
추가 => db insert 후 list 다시 띄우기
(51번 사원추가 테스트 )
2.삭제 => 51번 삭제 후 list다시 띄우기 (? 이용)
3.삭제=>51번 삭제 후 list다시 띄우기 (pathvariable이용)
3.수정 => 51번 사원정보 수정 후 list 다시 띄우기
list2 주소 처리 => ModelAndView => list2.jsp
list3 주소처리 => forward => list3.jsp
add/del/update
@Controller
public class MainController {
@Autowired
MemberService service;
@RequestMapping("/list")//list.jsp
public String list(Model m) { //list.jsp
System.out.println("list()=================");
List<DeptDTO> list=service.list();
//System.out.println(list);
m.addAttribute("list", list);
return "list";//list.jsp
}
@RequestMapping("/add")
public String add(DeptDTO dto) {
System.out.println(dto);
service.add(dto);
return "redirect:list";
}
@RequestMapping("/del")
public String del(String deptno) {
System.out.println(deptno);
service.del(Integer.parseInt(deptno));
return "redirect:list";
}
@RequestMapping("/update")
public String update(DeptDTO dto) {
// System.out.println(dto);
service.update(dto);
return "redirect:list";
}
}
service
@Service // component-scan 자동생성
public class MemberService {
@Autowired
DetpDAO dao;
public List<DeptDTO> list(){
return dao.list();
}
public void add(DeptDTO dto) {
dao.add(dto);
}
dao
@Repository // component-scan 자동빈생성
public class DetpDAO {
@Autowired
SqlSessionTemplate session;
public List<DeptDTO> list(){
return session.selectList("DeptMapper.list");
}
public void add(DeptDTO dto) {
session.insert("DeptMapper.add", dto);
}
dto
@Alias("dept")
mapper
<select id="list" resultType="dept">
select * from dept order by deptno asc
</select>
<insert id="add" parameterType="dept">
insert into dept values (#{deptno},
#{dname}, #{loc})
</insert>
<delete id="del" parameterType="int">
delete from dept where deptno= #{deptno}
</delete>
<update id="update" parameterType="dept">
update dept set dname=#{dname}, loc=#{loc} where
deptno= #{deptno}
</update>
root-context.xml
<!-- 1.jdbc.properties -->
<context:property-placeholder location="classpath:com/config/jdbc.properties"/>
<!-- 2.DBCP2 -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="${oracle.jdbc}"></property>
<property name="url" value="${oracle.url}"></property>
<property name="username" value="${oracle.userid}"></property>
<property name="password" value="${oracle.passwd}"></property>
</bean>
<!-- transaction의 시작 -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
<!-- trasaction처리 종료 -->
<!--3.SqlSessionFactoryBean -->
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mapperLocations">
<list>
<value>classpath:com/config/DeptMapper.xml</value>
</list>
</property>
<property name="typeAliases">
<list>
<value>com.dto.DeptDTO</value>
</list>
</property>
</bean>
<!-- 4. SqlSessionTemplate : SqlSession기능 -->
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg name="sqlSessionFactory" ref="sessionFactory"></constructor-arg>
</bean>
<!-- 종료 -->
servlet-context.xml
<annotation-driven />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<context:component-scan base-package="com.*" />
'Daily Codig Reminder' 카테고리의 다른 글
list, map, @Autowired (1) | 2024.02.28 |
---|---|
springboot (1) | 2024.02.28 |
@Reponsebody ,mybatis (0) | 2024.02.16 |
handler, response, json (0) | 2024.02.16 |
parameter, session (0) | 2024.02.16 |