반응형
이클립스 스프링MVC 기본 환경설정
- 이클립스
- 스프링MVC
- MariaDB
- MyBatis
1. encoding UTF-8 설정
- Window -> Preferences -> encoding 입력 -> encoding UTF-8로 셋팅
- Workspace, CSS Files, HTML Files, JSP Files, XML Files
2. Maven 환경설정 (선택사항)
pom.xml에서 설정한 라이브러리 실제 저장 경로 변경
maven_settings.xml 파일 내용
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>./local_repository</localRepository>
<interactiveMode>true</interactiveMode>
<offline>false</offline>
</settings>
모듈 파일이 maven_settings.xml 파일에 셋팅한곳으로 저장된다.
3. pom.xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml -->
<!--
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.10</version>
</dependency>
-->
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.7.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
4. DB 사용자 테이블 생성
MariaDB 에서 아이디, 비번 생성후 DB 생성후 board 테이블 생성
--
-- 테이블 구조 `board`
--
CREATE TABLE `board` (
`id` int(11) NOT NULL,
`title` varchar(255) DEFAULT NULL COMMENT '제목',
`contents` text DEFAULT NULL COMMENT '내용'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='게시판';
--
-- 덤프된 테이블의 인덱스
--
--
-- 테이블의 인덱스 `board`
--
ALTER TABLE `board`
ADD PRIMARY KEY (`id`);
--
-- 덤프된 테이블의 AUTO_INCREMENT
--
--
-- 테이블의 AUTO_INCREMENT `board`
--
ALTER TABLE `board`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
5. root-context.xml
mariadb 연결설정, mybatis 연결설정
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<!-- mariadb 연결 설정 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.mariadb.jdbc.Driver" />
<property name="url" value="jdbc:mariadb://127.0.0.1:3306/board" />
<property name="username" value="root" />
<property name="password" value="1234" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/mybatis-config.xml" />
<property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
</bean>
</beans>
6. web.xml
한글처리 필터
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 한글처리를 위한 Filter -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
7. mybatis-config.xml
src/main/resources/mybatis-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>
</configuration>
8. BoardMapper.xml
src/main/resources/mappers/com/mycomp/myapp/board/mapper/BoardMapper.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="com.mycomp.myapp.board.mapper">
<!-- 게시판 저장 -->
<insert id="insertBoard">
INSERT INTO board
(
id
, title
, contents
)
VALUES
(
#{id}
, #{title}
, #{contents}
)
</insert>
<!-- 게시판 조회 -->
<select id="selectBoardList"
resultType="com.mycomp.myapp.board.vo.BoardVO">
SELECT id /* id */
, title /* 제목 */
, contents /* 내용 */
FROM board
ORDER BY id desc
</select>
<!-- 게시판 상세 -->
<select id="selectBoardDetail"
parameterType="com.mycomp.myapp.board.vo.BoardVO"
resultType="com.mycomp.myapp.board.vo.BoardVO">
SELECT id /* id */
, title /* 제목 */
, contents /* 내용 */
FROM board
WHERE id = #{id}
</select>
<!-- 게시판 수정 -->
<update id="updateBoard"
parameterType="com.mycomp.myapp.board.vo.BoardVO">
UPDATE board
SET title = #{title}
, contents = #{contents}
WHERE id = #{id}
</update>
<!-- 게시판 삭제 -->
<delete id="deleteBoard"
parameterType="com.mycomp.myapp.board.vo.BoardVO">
DELETE FROM board
WHERE id = #{id}
</delete>
</mapper>
반응형
'JAVA' 카테고리의 다른 글
전자정부 프레임워크) eGovFrame 소개 및 Spring Frame과 차이점 (0) | 2023.03.09 |
---|---|
게시판 만들기 예제 모음 (0) | 2023.03.09 |
전자정부 프로젝트 IntelliJ에서 세팅 (0) | 2023.03.09 |
전자정부 프레임워크 스프링MVC를 위한 이클립스에서 Tomcat 셋팅 (0) | 2023.03.02 |
전자정부 프레임워크 3.10.x 설치 및 스프링MVC 셋팅 (0) | 2023.03.02 |