336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
안녕하세요.
Linux 다운에 대해 쓰겠습니다.
1. 접속 : https://www.centos.org/
빨간색 부분들을 클릭해주세요.
2.

3.

4.

5.

6. 이제 어디서 받을지 클릭한 후에
7. 서버마다 디렉토리 디자인이 약간 다르지만 받아줍니다.

감사합니다.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
안녕하세요
PROCEDURE CURSOR 사용입니다.
ORACLE 프로시저구문
| create or replace PROCEDURE pro_testTableSel( varNameCol IN VARCHAR2, c_result OUT SYS_REFCURSOR) IS BEGIN OPEN c_result FOR SELECT idCol, nameCol, valueCol FROM testTable WHERE nameCol = varNameCol; END pro_testTableSel; | cs |
home.jsp
| 프로시저 실행 <br/> <form name="procedureForm" id="procedureForm" method="POST" action="./springProcedure.do"> <input type="text" value="글쓴이" id="nameCol" name="nameCol"/> <input type="submit" value="프로시저 호출" /> </form> | cs |
HomeController.java
| @RequestMapping(value = "/springProcedure.do", method = RequestMethod.POST) public void springProcedure(HttpServletRequest request){ //request Map은 수정이 불가능해서 따로 담아서 Procedure 처리 Map<String, Object> map = new HashMap<String, Object>(); map.put("NAMECOL", request.getParameter("nameCol")); logger.info("map check : "+map.toString()); homeService.getProcedureSel(map); } | cs |
HomeService.java
| public void getProcedureSel(Map<String, Object> map); | cs |
HomeServiceImpl.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | @Override public void getProcedureSel(Map<String, Object> map) { map.put("resultList", new ArrayList<HashMap<?,?>>()); homeMapper.testDbProcedure(map); //가져온 사이즈 체크 int size = map.get("resultList").toString().length(); //가져온값 List<?> list = (List<?>) map.get("resultList"); //출력 for(int i = 0; i < size - 1; i++){ logger.info("cursor list Check ServiceImpl : "+list.get(i)); } } | cs |
HomeMapper.java
| public void testDbProcedure(Map<String, Object> map); | cs
|
testMapper.xml
| <!-- cursor 값 내용물 --> <resultMap type="java.util.Map" id="resultMap"> <result property="idCol" column="idCol" javaType="integer"/> <result property="nameCol" column="nameCol" javaType="string"/> <result property="valueCol" column="valueCol" javaType="string"/> </resultMap> <!-- 프로시저 (NUMBER -> NUMERIC 문자열(VARCHAR)), resultMap = 상위 id --> <select id="testDbProcedure" parameterType="java.util.Map" statementType="CALLABLE"> CALL pro_testTableSel( #{NAMECOL, mode=IN, jdbcType=VARCHAR}, #{resultList, mode=OUT, jdbcType=CURSOR, javaType=java.sql.ResultSet, resultMap=resultMap} ) </select> | cs |
결과

감사합니다.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
안녕하세요.
참고 프로시저
1
2
3
4
5
6
7
8
9
10
11
12
13 |
CREATE OR REPLACE PROCEDURE pro_testTableSel(
varIdCol IN OUT NUMBER,
varNameCol OUT VARCHAR2,
varValueCol OUT VARCHAR2)
IS
BEGIN
SELECT idCol, nameCol, valueCol
INTO varIdCol, varNameCol, varValueCol
FROM testTable
WHERE idCOl = varIdCol;
END pro_testTableSel; |
cs |
home.jsp
|
프로시저 실행 <br/>
<form name="procedureForm" id="procedureForm" method="POST" action="./springProcedure.do">
<input type="text" value="2" id="idCol" name="idCol"/>
<input type="submit" value="프로시저 호출" />
</form>
|
cs
|
HomeController.java
|
@RequestMapping(value = "/springProcedure.do", method = RequestMethod.POST)
public void springProcedure(HttpServletRequest request){
//request Map은 수정이 불가능해서 따로 담아서 Procedure 처리
Map<String, Object> map = new HashMap<String, Object>();
map.put("IDCOL", Integer.parseInt(request.getParameter("idCol")));
logger.info("map check : "+map.toString());
homeService.getProcedureSel(map);
}
|
cs
|
HomeService.java
|
public void getProcedureSel(Map<String, Object> map); |
cs
|
HomeServiceImpl.java
|
@Override
public void getProcedureSel(Map<String, Object> map) {
homeMapper.testDbProcedure(map);
logger.info("map Check ServiceImpl : "+map.toString());
}
|
cs |
HomeMapper.java
|
public void testDbProcedure(Map<String, Object> map); |
cs
|
testMapper.xml
|
<!-- 프로시저 (NUMBER -> NUMERIC 문자열(VARCHAR)) -->
<select id="testDbProcedure" parameterType="java.util.Map" statementType="CALLABLE">
CALL pro_testTableSel(
#{IDCOL, mode=INOUT, jdbcType=NUMERIC, javaType=Integer},
#{NAMECOL, mode=OUT, jdbcType=VARCHAR, javaType=String},
#{VALUECOL, mode=OUT, jdbcType=VARCHAR, javaType=String}
)
</select>
|
cs |
결과

감사합니다.