카테고리 없음

스프링 MVC 기초 - 4

enterit 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);
}
}

 

 

 

기초 끝