728x90
반응형
2020/05/30 - [🌎Web Application/Spring] - [Spring] MVC Project part 1
2020/05/30 - [🌎Web Application/Spring] - [Spring] MVC Project part 2
2020/05/30 - [🌎Web Application/Spring] - [Spring] MVC Project part 3
2020/05/30 - [🌎Web Application/Spring] - [Spring] MVC Project part 4
HomeController를 작성하자.
1)상단에 아래 필드 추가
@Autowired
private BoardBiz biz;
2) 아래 해당 메소드 추가
@RequestMapping("/list.do")
public String list(Model model) {
logger.info("SELECT LIST");
model.addAttribute("list",biz.selectList());
return "mvclist";
}
3) webapp에 index.html 추가
4) views/mvclist.jsp 생성
5) src/main/resources/mybatis 폴더 생성
해당 폴더에 board-mapper.xml 생성
6) board-mapper.xml 작성
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="myboard">
<resultMap type="boardDto" id="boardMap">
<result property="myno" column="MYNO"/>
<result property="myname" column="MYNAME"/>
<result property="mytitle" column="MYTITLE"/>
<result property="mycontent" column="MYCONTENT"/>
<result property="mydate" column="MYDATE"/>
</resultMap>
<select id="selectList" resultMap="boardMap">
SELECT MYNO,MYNAME,MYTITLE,MYCONTENT,MYDATE
FROM MYBOARD
ORDER BY MYNO DESC
</select>
</mapper>
7) mybatis 폴더에 db.properties 생성
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:xe
username=...
password=...
8) spring/sqls/config.xml 생성
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 별칭 설정 -->
<typeAliases>
<typeAlias type="com.mvc.upgrade.model.dto.BoardDto" alias="boardDto"/>
</typeAliases>
<mappers>
<!-- 앞에 resources는 왜 생략? : 경로가 이미 잡혀있기 때문이다.
resources: src/main/resources와 연결이 되어있다.
-->
<mapper resource="/mybatis/board-mapper.xml"/>
</mappers>
</configuration>
9) applicationContext.xml 수정
<!-- sqlMapConfig.xml파일을 대체한다 -->
<!-- db.properties 읽어오기 => bean으로 관리할 것이다. -->
<!-- classpath:라는 이름으로 경로가 잡혀있다. 그 안의 mybatis폴더 안의 db.properties라 작성해주면 된다.
해당 파일을 읽어서, 어떤 클래스가 생성이 될 것이다. 그 properties안의 값들을 쓸 수있겟음 클래스를 이용해서 bean을 만들어 둔 것이다.
-->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:mybatis/db.properties</value>
</list>
</property>
</bean>
<!-- dataSorce : db.properties 파일의 설정값을 읽어서 setting -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</bean>
<!-- SqlSessionFactoryBean클래스를 이용해 dataSource속성에 dataSource 빈 설정 -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="WEB-INF/spring/sqls/config.xml"></property>
</bean>
<!-- sqlSessionTemplate클래스를 이용해서 sqlSessionTemplate빈을 생성 -->
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSession"></constructor-arg>
</bean>
10) index.html 수정
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="list.do">list</a>
</body>
</html>
11) listmvc.jsp 수정
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>${list }</h1>
</body>
</html>
12) boardDaoImpl 수정
@Override
public List<BoardDto> selectList() {
List<BoardDto> list = new ArrayList<BoardDto>();
try {
list = sqlSession.selectList(NAMESPACE+"selectList");
}catch (Exception e) {
System.out.println("[error] : selectList");
e.printStackTrace();
}
return list;
}
13) boardBizImpl 수정
@Override
public List<BoardDto> selectList() {
// TODO Auto-generated method stub
return dao.selectList();
}
14) 결과
728x90
반응형
'⚙️Backend > Spring' 카테고리의 다른 글
💡Spring 동작과정 정리 💡 (1) | 2020.05.31 |
---|---|
MyBatis 추가 정리 (0) | 2020.05.31 |
[Spring] MVC Project part 4 (0) | 2020.05.30 |
[Spring] MVC Project part 3 (0) | 2020.05.30 |
[Spring] MVC Project part 2 (0) | 2020.05.30 |