문제 : Test1.java 소스를 실행 했을때 각각 test1결과.txt
ProfessorMapper2 인터페이스를 구현하기
❓
1.모든 교수 정보 조회하기
Professor [profno=1001, name=김명선, id=captain, position=전임강사, salary=0, hiredate=Sat Jun 23 00:00:00 KST 1990, bonus=100, deptno=101, email=captain@abc.net, url=null]
Professor [profno=1002, name=김명신, id=sweety, position=정교수, salary=0, hiredate=Thu Jan 30 00:00:00 KST 1997, bonus=60, deptno=101, email=sweety@abc.net, url=null]
Professor [profno=1003, name=김자바, id=powerman, position=전임강사, salary=0, hiredate=Sat Mar 22 00:00:00 KST 2008, bonus=0, deptno=101, email=pman@power.com, url=null]
Professor [profno=2011, name=엄호선, id=lamb1, position=전임강사, salary=0, hiredate=Thu Sep 01 00:00:00 KST 2011, bonus=0, deptno=102, email=lamb1@hamail.net, url=null]
Professor [profno=2012, name=장혜진, id=number1, position=조교수, salary=0, hiredate=Thu Nov 30 00:00:00 KST 1995, bonus=80, deptno=102, email=number1@naver.com, url=null]
Professor [profno=2013, name=이창익, id=bluedragon, position=정교수, salary=0, hiredate=Wed Apr 29 00:00:00 KST 1992, bonus=90, deptno=102, email=bdragon@naver.com, url=null]
Professor [profno=3001, name=김도형, id=angel1004, position=정교수, salary=0, hiredate=Wed Oct 23 00:00:00 KST 1991, bonus=110, deptno=103, email=angel1004@hanmir.com, url=null]
Professor [profno=3002, name=나한열, id=naone10, position=조교수, salary=0, hiredate=Sun Jul 01 00:00:00 KST 2007, bonus=50, deptno=103, email=naone10@empal.com, url=null]
Professor [profno=3003, name=김현정, id=only-u, position=전임강사, salary=0, hiredate=Fri Feb 24 00:00:00 KST 2012, bonus=0, deptno=103, email=only_u@abc.com, url=null]
Professor [profno=4001, name=심슨, id=simson, position=정교수, salary=0, hiredate=Wed Oct 23 00:00:00 KST 1991, bonus=130, deptno=201, email=chebin@daum.net, url=null]
Professor [profno=4002, name=최슬기, id=gogogo, position=조교수, salary=0, hiredate=Fri Aug 30 00:00:00 KST 2019, bonus=0, deptno=201, email=gogogo@def.com, url=null]
Professor [profno=4003, name=나몰라, id=mypride, position=조교수, salary=0, hiredate=Tue Dec 01 00:00:00 KST 2009, bonus=50, deptno=202, email=mypride@hanmail.net, url=null]
Professor [profno=4004, name=아이유, id=ironman, position=전임강사, salary=0, hiredate=Mon Jan 28 00:00:00 KST 2019, bonus=0, deptno=202, email=ironman@naver.com, url=null]
Professor [profno=4005, name=바비, id=standkang, position=정교수, salary=0, hiredate=Mon Sep 18 00:00:00 KST 1995, bonus=80, deptno=203, email=standkang@naver.com, url=null]
Professor [profno=4006, name=비, id=napeople, position=전임강사, salary=0, hiredate=Mon Jun 28 00:00:00 KST 2010, bonus=0, deptno=301, email=napeople@jass.com, url=null]
Professor [profno=4007, name=김태희, id=silver-her, position=조교수, salary=0, hiredate=Mon May 23 00:00:00 KST 2011, bonus=30, deptno=301, email=silver-her@daum.net, url=null]
2.101 학과 교수 정보 조회하기
Professor [profno=1001, name=김명선, id=captain, position=전임강사, salary=0, hiredate=Sat Jun 23 00:00:00 KST 1990, bonus=100, deptno=101, email=captain@abc.net, url=null]
Professor [profno=1002, name=김명신, id=sweety, position=정교수, salary=0, hiredate=Thu Jan 30 00:00:00 KST 1997, bonus=60, deptno=101, email=sweety@abc.net, url=null]
Professor [profno=1003, name=김자바, id=powerman, position=전임강사, salary=0, hiredate=Sat Mar 22 00:00:00 KST 2008, bonus=0, deptno=101, email=pman@power.com, url=null]
3.교수 번호가 1001번인 교수 정보 조회하기
Professor [profno=1001, name=김명선, id=captain, position=전임강사, salary=0, hiredate=Sat Jun 23 00:00:00 KST 1990, bonus=100, deptno=101, email=captain@abc.net, url=null]
4.정교수 정보 조회하기
Professor [profno=1002, name=김명신, id=sweety, position=정교수, salary=0, hiredate=Thu Jan 30 00:00:00 KST 1997, bonus=60, deptno=101, email=sweety@abc.net, url=null]
Professor [profno=2013, name=이창익, id=bluedragon, position=정교수, salary=0, hiredate=Wed Apr 29 00:00:00 KST 1992, bonus=90, deptno=102, email=bdragon@naver.com, url=null]
Professor [profno=3001, name=김도형, id=angel1004, position=정교수, salary=0, hiredate=Wed Oct 23 00:00:00 KST 1991, bonus=110, deptno=103, email=angel1004@hanmir.com, url=null]
Professor [profno=4001, name=심슨, id=simson, position=정교수, salary=0, hiredate=Wed Oct 23 00:00:00 KST 1991, bonus=130, deptno=201, email=chebin@daum.net, url=null]
Professor [profno=4005, name=바비, id=standkang, position=정교수, salary=0, hiredate=Mon Sep 18 00:00:00 KST 1995, bonus=80, deptno=203, email=standkang@naver.com, url=null]
5.101 학과의 정교수 정보 조회하기
Professor [profno=1002, name=김명신, id=sweety, position=정교수, salary=0, hiredate=Thu Jan 30 00:00:00 KST 1997, bonus=60, deptno=101, email=sweety@abc.net, url=null]
6.101,201 학과의 교수 정보 조회하기
Professor [profno=1001, name=김명선, id=captain, position=전임강사, salary=0, hiredate=Sat Jun 23 00:00:00 KST 1990, bonus=100, deptno=101, email=captain@abc.net, url=null]
Professor [profno=1002, name=김명신, id=sweety, position=정교수, salary=0, hiredate=Thu Jan 30 00:00:00 KST 1997, bonus=60, deptno=101, email=sweety@abc.net, url=null]
Professor [profno=1003, name=김자바, id=powerman, position=전임강사, salary=0, hiredate=Sat Mar 22 00:00:00 KST 2008, bonus=0, deptno=101, email=pman@power.com, url=null]
Professor [profno=4001, name=심슨, id=simson, position=정교수, salary=0, hiredate=Wed Oct 23 00:00:00 KST 1991, bonus=130, deptno=201, email=chebin@daum.net, url=null]
Professor [profno=4002, name=최슬기, id=gogogo, position=조교수, salary=0, hiredate=Fri Aug 30 00:00:00 KST 2019, bonus=0, deptno=201, email=gogogo@def.com, url=null]
7.101,201 학과 조교수 정보 조회하기
Professor [profno=4002, name=최슬기, id=gogogo, position=조교수, salary=0, hiredate=Fri Aug 30 00:00:00 KST 2019, bonus=0, deptno=201, email=gogogo@def.com, url=null]
- Test1.java
package test1018;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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 mapper.ProfessorMapper2;
public class Test1 {
private static SqlSessionFactory sqlMap;
private static Map<String, Object> map = new HashMap<>();
static {
InputStream input = null;
try {
input = Resources.getResourceAsStream
("mapper/mybatis-config.xml");
} catch (IOException e) {
e.printStackTrace();
}
sqlMap = new SqlSessionFactoryBuilder().build(input);
}
public static void main(String[] args) {
SqlSession session = sqlMap.openSession();
System.out.println("1.모든 교수 정보 조회하기");
List<Professor> list =
session.getMapper(ProfessorMapper2.class).select(null);
for (Professor s : list)System.out.println(s);
System.out.println("2.101 학과 교수 정보 조회하기");
//select * from professor where deptno=101
map.clear();
map.put("deptno", 101);
list = session.getMapper(ProfessorMapper2.class).select(map);
for (Professor s : list)System.out.println(s);
System.out.println("3.교수 번호가 1001번인 교수 정보 조회하기");
map.clear();
map.put("profno", 1001);
list = session.getMapper(ProfessorMapper2.class).select(map);
for (Professor s : list) System.out.println(s);
System.out.println("4.정교수 정보 조회하기");
//select * from professor where position='정교수'
map.clear();
map.put("position", "정교수");
list = session.getMapper(ProfessorMapper2.class).select(map);
for (Professor s : list) System.out.println(s);
System.out.println("5.101 학과의 정교수 정보 조회하기");
//select * from professor where deptno=101 and position='정교수'
map.clear();
map.put("deptno", 101);
map.put("position", "정교수");
list = session.getMapper(ProfessorMapper2.class).select(map);
for (Professor s : list) System.out.println(s);
System.out.println("6.101,201 학과의 교수 정보 조회하기 ");
map.clear();
map.put("datas", Arrays.asList(101,201));
list = session.getMapper(ProfessorMapper2.class).select(map);
for (Professor s : list) System.out.println(s);
System.out.println("7.101,201 학과 조교수 정보 조회하기");
//select * from professor where position=#{position} and deptno in (101,201)
map.clear();
map.put("datas", Arrays.asList(101,201));
map.put("position", "조교수");
list = session.getMapper(ProfessorMapper2.class).select(map);
for (Professor s : list) System.out.println(s);
}
}
- ProfessorMapper2.java -interface로 생성
package mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Select;
import test1018.Professor;
public interface ProfessorMapper2 {
@Select({"<script>",
"select * from professor ",
"<trim prefix='where' prefixOverrides='AND||OR'>",
"<if test='deptno != null'>and deptno = #{deptno}</if>",
"<if test='profno != null'>and profno = #{profno}</if>",
"<if test='position != null'>and position = #{position}</if>",
"<if test='datas != null'>and deptno in ",
"<foreach collection='datas' item='d' separator=',' open='(' close=')'>#{d}</foreach></if>",
"</trim>",
"</script>" })
List<Professor> select(Map<String,Object> map);
}
'수업 문제(국비 지원) > JSP' 카테고리의 다른 글
| [JSP] 2022.10.26 (삭제 부분 완료하기) (0) | 2023.04.29 |
|---|---|
| [JSP] 2022.10.21 (서울전체 구 정보, 우편번호) (0) | 2023.04.29 |
| [JSP] 2022.10.17 (Test1.java 소스를 실행 했을때 각각 test1결과.text가 나오도록 ProfessorMapper 인터페이스를 구현하기) (0) | 2023.04.29 |
| [JSP] 2022.10.14 (deleteForm.jsp 페이지를 이용하여 게시물 삭제 부분 완성하기) (0) | 2023.04.29 |
| [JSP] 2022.10.13 (dao.boardCount(boardid) : board 테이블의 boardid값에 해당하는 게시물 건수 리턴) (0) | 2023.04.29 |