이지우 - FAQ 조회 쿼리 수정(CLOB 형태로 조회 후 java에서 문자로 변환)
This commit is contained in:
parent
d6b6c42ad6
commit
f8c0e056d5
@ -1,15 +1,15 @@
|
|||||||
package seed.com.gtm.dao;
|
package seed.com.gtm.dao;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public interface FaqBbsDao {
|
public interface FaqBbsDao {
|
||||||
public void boardInsert(Map<String, Object> paramMap);
|
public void boardInsert(Map<String, Object> paramMap);
|
||||||
public List<Map<String,Object>> boardList(Map<String, Object> paramMap);
|
public List<Map<String,Object>> boardList(Map<String, Object> paramMap);
|
||||||
public Map<String,Object> boardView(Map<String, Object> paramMap);
|
public Map<String,Object> boardView(Map<String, Object> paramMap);
|
||||||
public void boardUpdate(Map<String, Object> paramMap);
|
public void boardUpdate(Map<String, Object> paramMap);
|
||||||
public int boardListCnt(Map<String, Object> paramMap);
|
public int boardListCnt(Map<String, Object> paramMap);
|
||||||
public void boardDel(Map<String, Object> paramMap);
|
public void boardDel(Map<String, Object> paramMap);
|
||||||
public void cntUpdate(Map<String, Object> paramMap);
|
public void cntUpdate(Map<String, Object> paramMap);
|
||||||
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap);
|
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,59 +1,59 @@
|
|||||||
package seed.com.gtm.dao;
|
package seed.com.gtm.dao;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.apache.ibatis.session.SqlSession;
|
import org.apache.ibatis.session.SqlSession;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class FaqBbsDaoImpl implements FaqBbsDao {
|
public class FaqBbsDaoImpl implements FaqBbsDao {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SqlSession sqlSession;
|
private SqlSession sqlSession;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void boardInsert(Map<String, Object> paramMap) {
|
public void boardInsert(Map<String, Object> paramMap) {
|
||||||
sqlSession.insert("faqbbs.insert", paramMap);
|
sqlSession.insert("faqbbs.insert", paramMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> boardList(Map<String, Object> paramMap) {
|
public List<Map<String, Object>> boardList(Map<String, Object> paramMap) {
|
||||||
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.select", paramMap);
|
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.select", paramMap);
|
||||||
return boardList;
|
return boardList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> boardView(Map<String, Object> paramMap) {
|
public Map<String, Object> boardView(Map<String, Object> paramMap) {
|
||||||
Map<String, Object> boardView = sqlSession.selectOne("faqbbs.selectOne", paramMap);
|
Map<String, Object> boardView = sqlSession.selectOne("faqbbs.selectOne", paramMap);
|
||||||
return boardView;
|
return boardView;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void boardUpdate(Map<String, Object> paramMap) {
|
public void boardUpdate(Map<String, Object> paramMap) {
|
||||||
sqlSession.update("faqbbs.update", paramMap);
|
sqlSession.update("faqbbs.update", paramMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int boardListCnt(Map<String, Object> paramMap) {
|
public int boardListCnt(Map<String, Object> paramMap) {
|
||||||
return sqlSession.selectOne("faqbbs.selectCnt",paramMap);
|
return sqlSession.selectOne("faqbbs.selectCnt",paramMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void boardDel(Map<String, Object> paramMap) {
|
public void boardDel(Map<String, Object> paramMap) {
|
||||||
sqlSession.update("faqbbs.delete", paramMap);
|
sqlSession.update("faqbbs.delete", paramMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void cntUpdate(Map<String, Object> paramMap) {
|
public void cntUpdate(Map<String, Object> paramMap) {
|
||||||
sqlSession.update("faqbbs.cntUpdate", paramMap);
|
sqlSession.update("faqbbs.cntUpdate", paramMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap) {
|
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap) {
|
||||||
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.selectAllFaq", paramMap);
|
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.selectAllFaq", paramMap);
|
||||||
return boardList;
|
return boardList;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,52 +1,73 @@
|
|||||||
package seed.com.gtm.faqbbs;
|
package seed.com.gtm.faqbbs;
|
||||||
|
|
||||||
import java.util.List;
|
import java.sql.Clob;
|
||||||
import java.util.Map;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
import seed.com.gtm.dao.FaqBbsDaoImpl;
|
|
||||||
|
import seed.com.gtm.dao.FaqBbsDaoImpl;
|
||||||
@Service
|
|
||||||
public class faqBpardService {
|
@Service
|
||||||
|
public class faqBpardService {
|
||||||
@Autowired
|
|
||||||
private FaqBbsDaoImpl dao;
|
@Autowired
|
||||||
|
private FaqBbsDaoImpl dao;
|
||||||
public void boardInsert(Map<String, Object> paramMap){
|
|
||||||
dao.boardInsert(paramMap);
|
public void boardInsert(Map<String, Object> paramMap){
|
||||||
}
|
dao.boardInsert(paramMap);
|
||||||
|
}
|
||||||
public List<Map<String,Object>> boardList(Map<String, Object> paramMap){
|
|
||||||
List<Map<String,Object>> boardList = dao.boardList(paramMap);
|
public List<Map<String,Object>> boardList(Map<String, Object> paramMap){
|
||||||
return boardList;
|
List<Map<String,Object>> boardList = dao.boardList(paramMap);
|
||||||
}
|
return boardList;
|
||||||
|
}
|
||||||
public Map<String,Object> boardView(Map<String, Object> paramMap){
|
|
||||||
Map<String,Object> boardView = dao.boardView(paramMap);
|
public Map<String,Object> boardView(Map<String, Object> paramMap){
|
||||||
return boardView;
|
Map<String,Object> boardView = dao.boardView(paramMap);
|
||||||
}
|
//FAQ_CONT가 CLOB 타입이며, SELECT에서 문자열로 변경 시 varchar2(4000)을 초과하여 오류 발생.
|
||||||
|
//CLOB 타입으로 조회 후 java에서 문자열로 변환 처리
|
||||||
public void boardUpdate(Map<String, Object> paramMap){
|
try {
|
||||||
dao.boardUpdate(paramMap);
|
if(boardView.get("FAQ_CONT") != null) {
|
||||||
}
|
Clob faqContClob = (Clob) boardView.get("FAQ_CONT");
|
||||||
|
System.out.println(faqContClob);
|
||||||
public int boardListCnt(Map<String, Object> paramMap){
|
StringBuilder sb = new StringBuilder();
|
||||||
return dao.boardListCnt(paramMap);
|
long length = faqContClob.length();
|
||||||
}
|
java.io.Reader reader = faqContClob.getCharacterStream();
|
||||||
|
char[] buffer = new char[1024];
|
||||||
public void boardDel(Map<String, Object> paramMap){
|
int bytesRead;
|
||||||
dao.boardDel(paramMap);
|
while ((bytesRead = reader.read(buffer)) != -1) {
|
||||||
}
|
sb.append(buffer, 0, bytesRead);
|
||||||
|
}
|
||||||
public void cntUpdate(Map<String, Object> paramMap){
|
boardView.put("FAQ_CONT",sb.toString());
|
||||||
dao.cntUpdate(paramMap);
|
reader.close();
|
||||||
}
|
}
|
||||||
|
}catch(Exception e) {
|
||||||
public List<Map<String,Object>> boardListAllFaq(Map<String, Object> paramMap){
|
e.printStackTrace();
|
||||||
List<Map<String,Object>> boardList = dao.boardListAllFaq(paramMap);
|
}
|
||||||
return boardList;
|
return boardView;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
public void boardUpdate(Map<String, Object> paramMap){
|
||||||
|
dao.boardUpdate(paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int boardListCnt(Map<String, Object> paramMap){
|
||||||
|
return dao.boardListCnt(paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void boardDel(Map<String, Object> paramMap){
|
||||||
|
dao.boardDel(paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cntUpdate(Map<String, Object> paramMap){
|
||||||
|
dao.cntUpdate(paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Map<String,Object>> boardListAllFaq(Map<String, Object> paramMap){
|
||||||
|
List<Map<String,Object>> boardList = dao.boardListAllFaq(paramMap);
|
||||||
|
return boardList;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@ -1,163 +1,164 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
|
||||||
<mapper namespace="faqbbs">
|
<mapper namespace="faqbbs">
|
||||||
<insert id="insert" parameterType="java.util.HashMap">
|
<insert id="insert" parameterType="java.util.HashMap">
|
||||||
INSERT INTO C_FAQBBS(
|
INSERT INTO C_FAQBBS(
|
||||||
FAQ_SEQ_NUMBER,
|
FAQ_SEQ_NUMBER,
|
||||||
FAQ_SETIDX,
|
FAQ_SETIDX,
|
||||||
FAQ_SUBJ,
|
FAQ_SUBJ,
|
||||||
FAQ_CONT,
|
FAQ_CONT,
|
||||||
MNGR_RPL_CONT,
|
MNGR_RPL_CONT,
|
||||||
VIEW_CNT,
|
VIEW_CNT,
|
||||||
REG_MBER_ID,
|
REG_MBER_ID,
|
||||||
REG_MBER_NM,
|
REG_MBER_NM,
|
||||||
REG_DATE,
|
REG_DATE,
|
||||||
MOD_MBER_ID,
|
MOD_MBER_ID,
|
||||||
MOD_DATE,
|
MOD_DATE,
|
||||||
DEL_YN
|
DEL_YN
|
||||||
) VALUES (
|
) VALUES (
|
||||||
SEQ_CASE_FAQBBS.NEXTVAL,
|
SEQ_CASE_FAQBBS.NEXTVAL,
|
||||||
#{setIdx},
|
#{setIdx},
|
||||||
#{fagSubj},
|
#{fagSubj},
|
||||||
#{editorParam_faqCont},
|
#{editorParam_faqCont},
|
||||||
#{editorParam_faqCont},
|
#{editorParam_faqCont},
|
||||||
0,
|
0,
|
||||||
#{memberId},
|
#{memberId},
|
||||||
#{memberName},
|
#{memberName},
|
||||||
SYSDATE,
|
SYSDATE,
|
||||||
#{memberId},
|
#{memberId},
|
||||||
SYSDATE,
|
SYSDATE,
|
||||||
'N'
|
'N'
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
||||||
|
|
||||||
SELECT * FROM
|
SELECT * FROM
|
||||||
(
|
(
|
||||||
SELECT ROW_.*, ROWNUM AS RNUM FROM
|
SELECT ROW_.*, ROWNUM AS RNUM FROM
|
||||||
(
|
(
|
||||||
SELECT FAQ_SEQ_NUMBER,
|
SELECT FAQ_SEQ_NUMBER,
|
||||||
FAQ_SETIDX,
|
FAQ_SETIDX,
|
||||||
FAQ_SUBJ,
|
FAQ_SUBJ,
|
||||||
FAQ_CONT,
|
FAQ_CONT,
|
||||||
MNGR_RPL_CONT,
|
MNGR_RPL_CONT,
|
||||||
VIEW_CNT,
|
VIEW_CNT,
|
||||||
REG_MBER_ID,
|
REG_MBER_ID,
|
||||||
REG_MBER_NM,
|
REG_MBER_NM,
|
||||||
REG_DATE,
|
REG_DATE,
|
||||||
MOD_MBER_ID,
|
MOD_MBER_ID,
|
||||||
MOD_DATE
|
MOD_DATE
|
||||||
FROM C_FAQBBS
|
FROM C_FAQBBS
|
||||||
WHERE FAQ_SETIDX = #{setIdx}
|
WHERE FAQ_SETIDX = #{setIdx}
|
||||||
AND DEL_YN = 'N'
|
AND DEL_YN = 'N'
|
||||||
<if test="searchTilte != null and searchTilte != ''">
|
<if test="searchTilte != null and searchTilte != ''">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
|
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
|
||||||
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
|
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
|
||||||
</choose>
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
ORDER BY REG_DATE DESC
|
ORDER BY REG_DATE DESC
|
||||||
) ROW_
|
) ROW_
|
||||||
)
|
)
|
||||||
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
|
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
|
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
|
||||||
SELECT COUNT(*)
|
SELECT COUNT(*)
|
||||||
FROM C_FAQBBS
|
FROM C_FAQBBS
|
||||||
WHERE FAQ_SETIDX = #{setIdx}
|
WHERE FAQ_SETIDX = #{setIdx}
|
||||||
AND DEL_YN = 'N'
|
AND DEL_YN = 'N'
|
||||||
<if test="searchTilte != null and searchTilte != ''">
|
<if test="searchTilte != null and searchTilte != ''">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
|
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
|
||||||
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
|
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
|
||||||
</choose>
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
||||||
SELECT FAQ_SEQ_NUMBER,
|
SELECT FAQ_SEQ_NUMBER,
|
||||||
FAQ_SETIDX,
|
FAQ_SETIDX,
|
||||||
FAQ_SUBJ,
|
FAQ_SUBJ,
|
||||||
dbms_lob.substr(FAQ_CONT, dbms_lob.getlength(FAQ_CONT), 1) AS FAQ_CONT ,
|
<!-- dbms_lob.substr(FAQ_CONT, dbms_lob.getlength(FAQ_CONT), 1) AS FAQ_CONT , -->
|
||||||
MNGR_RPL_CONT,
|
FAQ_CONT,
|
||||||
VIEW_CNT,
|
MNGR_RPL_CONT,
|
||||||
REG_MBER_ID,
|
VIEW_CNT,
|
||||||
REG_MBER_NM,
|
REG_MBER_ID,
|
||||||
REG_DATE,
|
REG_MBER_NM,
|
||||||
MOD_MBER_ID,
|
REG_DATE,
|
||||||
MOD_DATE
|
MOD_MBER_ID,
|
||||||
FROM C_FAQBBS
|
MOD_DATE
|
||||||
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
|
FROM C_FAQBBS
|
||||||
</select>
|
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
|
||||||
|
</select>
|
||||||
<update id="update">
|
|
||||||
UPDATE C_FAQBBS
|
<update id="update">
|
||||||
SET FAQ_SUBJ = #{fagSubj},
|
UPDATE C_FAQBBS
|
||||||
FAQ_CONT = #{editorParam_faqCont},
|
SET FAQ_SUBJ = #{fagSubj},
|
||||||
MOD_MBER_ID = #{memberId},
|
FAQ_CONT = #{editorParam_faqCont},
|
||||||
MOD_DATE = SYSDATE
|
MOD_MBER_ID = #{memberId},
|
||||||
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
|
MOD_DATE = SYSDATE
|
||||||
</update>
|
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
|
||||||
|
</update>
|
||||||
<delete id="delete">
|
|
||||||
UPDATE C_FAQBBS
|
<delete id="delete">
|
||||||
SET DEL_YN = 'Y'
|
UPDATE C_FAQBBS
|
||||||
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
|
SET DEL_YN = 'Y'
|
||||||
</delete>
|
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
|
||||||
|
</delete>
|
||||||
<delete id="cntUpdate">
|
|
||||||
UPDATE C_FAQBBS
|
<delete id="cntUpdate">
|
||||||
SET VIEW_CNT = VIEW_CNT+1
|
UPDATE C_FAQBBS
|
||||||
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
|
SET VIEW_CNT = VIEW_CNT+1
|
||||||
</delete>
|
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
|
||||||
|
</delete>
|
||||||
<select id="selectAllFaq" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
||||||
SELECT
|
<select id="selectAllFaq" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
||||||
*
|
SELECT
|
||||||
FROM
|
*
|
||||||
(
|
FROM
|
||||||
SELECT
|
(
|
||||||
ROW_.*,
|
SELECT
|
||||||
ROWNUM AS RNUM
|
ROW_.*,
|
||||||
FROM
|
ROWNUM AS RNUM
|
||||||
(
|
FROM
|
||||||
SELECT
|
(
|
||||||
count(1) over() as cnt,
|
SELECT
|
||||||
FAQ_SEQ_NUMBER,
|
count(1) over() as cnt,
|
||||||
FAQ_SETIDX,
|
FAQ_SEQ_NUMBER,
|
||||||
FAQ_SUBJ,
|
FAQ_SETIDX,
|
||||||
FAQ_CONT,
|
FAQ_SUBJ,
|
||||||
MNGR_RPL_CONT,
|
FAQ_CONT,
|
||||||
VIEW_CNT,
|
MNGR_RPL_CONT,
|
||||||
REG_MBER_ID,
|
VIEW_CNT,
|
||||||
REG_MBER_NM,
|
REG_MBER_ID,
|
||||||
REG_DATE,
|
REG_MBER_NM,
|
||||||
TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE_FORMAT,
|
REG_DATE,
|
||||||
MOD_MBER_ID,
|
TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE_FORMAT,
|
||||||
MOD_DATE
|
MOD_MBER_ID,
|
||||||
FROM
|
MOD_DATE
|
||||||
C_FAQBBS
|
FROM
|
||||||
WHERE
|
C_FAQBBS
|
||||||
(FAQ_SETIDX = '101'
|
WHERE
|
||||||
OR FAQ_SETIDX = '102'
|
(FAQ_SETIDX = '101'
|
||||||
OR FAQ_SETIDX = '103' )
|
OR FAQ_SETIDX = '102'
|
||||||
AND DEL_YN = 'N'
|
OR FAQ_SETIDX = '103' )
|
||||||
<if test="totalSearchKeyword != null and totalSearchKeyword != ''">
|
AND DEL_YN = 'N'
|
||||||
AND (
|
<if test="totalSearchKeyword != null and totalSearchKeyword != ''">
|
||||||
FAQ_SUBJ like '%' || #{totalSearchKeyword} || '%'
|
AND (
|
||||||
OR FAQ_CONT like '%' || #{totalSearchKeyword} || '%'
|
FAQ_SUBJ like '%' || #{totalSearchKeyword} || '%'
|
||||||
)
|
OR FAQ_CONT like '%' || #{totalSearchKeyword} || '%'
|
||||||
</if>
|
)
|
||||||
ORDER BY
|
</if>
|
||||||
REG_DATE DESC
|
ORDER BY
|
||||||
) ROW_
|
REG_DATE DESC
|
||||||
)
|
) ROW_
|
||||||
WHERE
|
)
|
||||||
RNUM > #{PAGESTART}
|
WHERE
|
||||||
AND #{PERPAGENUM} >= ROWNUM
|
RNUM > #{PAGESTART}
|
||||||
</select>
|
AND #{PERPAGENUM} >= ROWNUM
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue
Block a user