ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 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);
    }
    }

     

     

     

    기초 끝

Designed by Tistory.