JSP/JSP 공부

[jsp] 로그인/회원가입 4. DB 연결

congs 2023. 5. 12. 15:20

1. orm 패키지에 mybatisConfig이름을 가진 xml을 생성

 

 - mybatis에서 가져오기

https://mybatis.org/mybatis-3/ko/getting-started.html

 

MyBatis – 마이바티스 3 | 시작하기

 

mybatis.org

가져와서  변경 + 설정!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-config.dtd">
  
  <configuration>
  
  <typeAliases>
  	<typeAlias type="domain.MemberVO" alias="mvo" />
  </typeAliases>
  
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED"> <!-- 메모리 공간을 남겨주기 위해서 POOLED로 설정 -->
        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/jspdb"/>
        <property name="username" value="jspuser"/>
        <property name="password" value="mysql"/>
      </dataSource>
    </environment>
  </environments>
  
  
  <mappers> <!-- dao역할을 mapper가 함!(SQL구문 전달) -->
    <mapper resource="mappers/memberMapper.xml"/> <!-- 폴더는 / , 패키지는 . -->
  </mappers>
  
</configuration>

 

2. mappers 패키지에 memberMapper.xml 생성 

 - 위랑 같이 mybatis에서 가져오기

가져와서  변경 + 설정!

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
  <mapper>
  
  </mapper>

 

3. orm패키지에 DatabaseBuilder클래스 생성

package orm;

import java.io.IOException;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DatabaseBuilder {
	
	//log 표현하도록 설정
	private static Logger log = LoggerFactory.getLogger(DatabaseBuilder.class);
	
	private static SqlSessionFactory factory;
	
	//경로 넣기 (경로는 일반적으로 final)
	//패키지는 / , 폴더는 .
	private static final String config = "orm/MybatisConfig.xml";
	
	static {
		try {
			factory = new SqlSessionFactoryBuilder().build(
					Resources.getResourceAsReader(config));
					
		} catch (IOException e) {
			
			log.info("mybatis 설정 오류"); //log.info == sysout
			e.printStackTrace();
			
		}
	}
	
	public static SqlSessionFactory getFactory() {
		return factory;
	}

	
	
}