-
스프링 MVC 기초 - 4카테고리 없음 2022. 11. 15. 12:11
* 회원 테이블
CREATE TABLE `wsuser` (
`useridx` int(11) NOT NULL AUTO_INCREMENT COMMENT '회원 고유번호',
`userid` varchar(255) NOT NULL COMMENT '회원 아이디',
`userpw` varchar(255) NOT NULL DEFAULT '' COMMENT '회원 비밀번호',
`username` varchar(255) NOT NULL DEFAULT '' COMMENT '회원 이름',
`useremail` varchar(255) NOT NULL DEFAULT '' COMMENT '회원 이메일',
`userdatereg` datetime NOT NULL COMMENT '회원 등록 날짜',
PRIMARY KEY (`useridx`) USING BTREE,
KEY `userid` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;* domain 패키지 생성
* UserVO 클래스 생성
package com.ps.wsol.domain;
public class UserVO {
private String userid;
private String userpw;
private String useremail;
public String getUserId() {
return userid;
}
public void setUserId(String userid) {
this.userid = userid;
}
public String getUserPw() {
return userpw;
}
public void setUserPw(String userpw) {
this.userpw = userpw;
}
public String getUserEmail() {
return useremail;
}
public void setUserEmail(String useremail) {
this.useremail = useremail;
}
@Override
public String toString() {
return "UserVO [userid=" + userid + ", userpw=" + userpw + ", useremail=" + useremail + "]";
}
}* dao 패키지 생성
* UserDAO 인터페이스 생성
package com.ps.wsol.dao;
import com.ps.wsol.domain.UserVO;
public interface UserDAO {
public void insertUser(UserVO vo);
}* Mapper 파일 생성
src/main/resources 폴더 밑에 mapper라는 패키지 생성 - userMapper.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.ps.wsol.mapper.UserMapper">
<insert id="insertUser">
INSERT INTO wsuser (
userid,
userpw,
useremail,
userdatereg
)
VALUES (
#{userid},
#{userpw},
#{useremail},
now()
)
</insert>
</mapper>* root-context.xml 수정
<!-- Mybatis와 스프링 연동 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 스프링 시작시 mybatis-config.xml이 같이 실행되도록 설정 -->
<property name="configLocation" value="classpath:/mybatis-config.xml"></property>
<property name="mapperLocations" value="classpath:mapper/**/*Mapper.xml"></property>
</bean>* SqlSessionTemplate 설정 : root-context.xml 수정
<!-- SQLSessionTemplate 설정 -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
</bean>* DAO인터페이스에게 주입 : UserDAOImp 생성
package com.ps.wsol.dao;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.ps.wsol.domain.UserVO;
@Repository
public class UserDAOImp implements UserDAO {
@Autowired
private SqlSession sqlSession;
private static final String namespace = "com.ps.wsol.mapper.UserMapper";
@Override
public void insertUser(UserVO vo) {
sqlSession.insert(namespace + ".insertUser", vo);
}
}* root-context.xml 수정
<context:component-scan base-package="com.ps.wsol.dao"></context:component-scan> * Controller 생성
- web 패키지 생성
- UserController 생성
package com.ps.wsol.web;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.ps.wsol.dao.UserDAO;
import com.ps.wsol.domain.UserVO;
@Controller
public class UserController {
@Autowired
private UserDAO dao;
@RequestMapping(value = "/userList", method = RequestMethod.GET)
public void userList() {
UserVO vo = new UserVO();
vo.setUserId("111");
vo.setUserPw("222");
vo.setUserEmail("333");
dao.insertUser(vo);
}
}기초 끝