<?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>
<settings>
<setting name="logImpl" value="LOG4J2"/>
</settings>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/> //드라이버 주소
<property name="url" value="jdbc:mysql://localhost:3306/bit08db"/> //db주소
<property name="username" value="bituser"/> //아이디
<property name="password" value="bituser"/>
//패스워드 </dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/zerock/bitboard/dao/TimeMapper.xml"></mapper>
<mapper resource="org/zerock/bitboard/dao/BoardMapper.xml"></mapper>
<mapper resource="org/zerock/bitboard/dao/MemberMapper.xml"></mapper> // sql 구문이 들어있는 xml 파일의 경로
</mappers>
</configuration>
<?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.example.bitboardpractice.dao.BoardMapper">
//Mapper파일의 경로
<select id="selectList" resultType="com.example.bitboardpractice.dto.BoardDTO">
select * from board where
</select>
</mapper>
package org.zerock.bitboard.dao;
import lombok.extern.log4j.Log4j2;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
public enum MybatisLoader {
INSTANCE;
private SqlSessionFactory sqlSessionFactory;
MybatisLoader() {
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (Exception e) {
e.printStackTrace();
}
}
public SqlSessionFactory getFactory() {
return this.sqlSessionFactory;
}
}
4.src>main>java>com>example>bitboardpractice>dao>boarddao.class
public enum BoardDAO {
INSTANCE;
private final String PREFIX="com.example.bitboardpractice.BoardMapper";
public List<BoardDTO> selectList() {
List<BoardDTO> list=null;
try {
SqlSession sqlSession = MybatisLoader.INSTANCE.getSqlSessionFactory().openSession(true);
list = sqlSession.selectList(PREFIX+".selectList");
} catch (Exception e) {
log.error(e);
}
return list;
}
}