1. MyBatic library + DB library 준비
Products
A blog about the the MyBatis data mapper framework.
blog.mybatis.org
2. 설정 파일
log4j.xml
0.00MB
mapper.xml
0.00MB
myBatisConfig.xml
0.00MB
- 데이터베이스 설정 파일 ( myBatisConfig.xml )
- 프레임워크용 로그 출력 설정파일 ( log4j.xml )
- Mapper 파일( *.xml )
더보기
1) myBatisConfig.xml
<?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>
<environments default="mariadb1">
<environment id="mariadb1">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="org.mariadb.jdbc.Driver"/>
<property name="url" value="jdbc:mariadb://localhost:3306/sample"/>
<property name="username" value="root"/>
<property name="password" value="!123456"/>
</dataSource>
</environment>
<environment id="mariadb2">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="org.mariadb.jdbc.Driver"/>
<property name="url" value="jdbc:mariadb://localhost:3306/project"/>
<property name="username" value="project"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="model1/emp.xml"/>
</mappers>
</configuration>
2) log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p](%-35c{1}:%-3L) %m%n" />
</layout>
</appender>
<root>
<level value = "DEBUG" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
3) mapper.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">
3. 초기 java 코드
1) 패키지 내 .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="mybatis">
<select id="selectlist1" parameterType="String" resultType="model1.EmpTO">
select empno, ename, sal, deptno
from emp
where deptno=${deptno}
</select>
<select id="selectlist2" parameterType="String" resultType="model1.EmpTO">
select empno, ename, sal, deptno
from emp
where ename like #{ename}
</select>
<select id="selectlist3" parameterType="String" resultType="model1.EmpTO">
select empno, ename, sal, deptno
from emp
where ename like concat( #{ename}, '%' )
</select>
</mapper>
2) import 및 클래스 생성(참고)
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import model1.EmpTO;
public class MyBatisEx01 {
public static void main(String[] args) {
String resource = "myBatisConfig.xml";
InputStream is = null;
SqlSession sqlSession = null;
try {
is = Resources.getResourceAsStream( resource );
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
System.out.println( "설정이 호출되었습니다." );
sqlSession = sqlSessionFactory.openSession();
System.out.println( "연결 성공 : " + sqlSession );
EmpTO to = new EmpTO();
to.setDeptno("20");
ArrayList<EmpTO> lists = (ArrayList)sqlSession.selectList("selectlist1", "20" );
for( int i = 0; i < lists.size(); i++ ) {
EmpTO to2 = lists.get(i);
System.out.printf( "%s\t%s\t%s\t%s\n", to2.getEmpno(), to2.getEname(), to2.getSal(),to2.getDeptno() );
}
} catch (IOException e) {
System.out.println( "[에러] " + e.getMessage() );
} finally {
if( sqlSession != null ) sqlSession.close();
if( is != null ) try { is.close(); } catch ( IOException e) {}
}
}
}
'SetUp' 카테고리의 다른 글
[Linux] JDK 설치 / JAVA_HOME PATH 설정 / maven 설치 (0) | 2023.03.08 |
---|---|
[Setup] 제이쿼리 / jQuery 라이브러리 연동 / Download 방식 / 네트워크 전송(CDN, Content Delivery Network 방식) (0) | 2022.12.02 |
[Setup] webapp 폴더가 아닌 특정 폴더에 배포 후 실행하기 (0) | 2022.11.28 |
[Setup] war 파일을 통해 톰캣을 활용해서 배포하기 (0) | 2022.11.28 |
[Setup] JSP Eclipse 환경설정 (0) | 2022.11.13 |