DB 연동 준비 (중간 백업)

This commit is contained in:
KNKIM 2021-08-04 19:09:39 +09:00
parent 0913ab07f1
commit b616f5b653
6 changed files with 236 additions and 3 deletions

View File

@ -227,8 +227,15 @@
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.11.4</version> <version>2.11.4</version>
</dependency> </dependency>
<!-- DB : Maria (DIGITALSHIP KNKIM 2021.08.04)-->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.2.5</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -7,18 +7,23 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import nlib.cmm.service.CodeService; import nlib.cmm.service.CodeService;
import nlib.restful.service.DataApiReqVO; import nlib.restful.service.DataApiReqVO;
import nlib.restful.service.DataApiResVO; import nlib.restful.service.DataApiResVO;
@Service("codeService") @Service("codeService")
public class CodeServiceImpl implements CodeService public class CodeServiceImpl extends EgovAbstractServiceImpl implements CodeService
{ {
private static final Logger log = LoggerFactory.getLogger(CodeServiceImpl.class); private static final Logger log = LoggerFactory.getLogger(CodeServiceImpl.class);
@Resource(name="codeDAO") @Resource(name="codeDAO")
private CodeDAO codeDAO; private CodeDAO codeDAO;
/*public DataApiResVO listCodes(DataApiReqVO reqVO) {
return codeDAO.listCodes(reqVO);
}*/
public DataApiResVO listCodes(DataApiReqVO reqVO) { public DataApiResVO listCodes(DataApiReqVO reqVO) {
return codeDAO.listCodes(reqVO); return codeDAO.listCodes(reqVO);
} }

View File

@ -19,8 +19,14 @@ Globals.OsType = WINDOWS
# DB\uc11c\ubc84 \ud0c0\uc785(mysql, oracle, altibase, tibero, cubrid, maria, postgres) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428 # DB\uc11c\ubc84 \ud0c0\uc785(mysql, oracle, altibase, tibero, cubrid, maria, postgres) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428
#Globals.DbType = mysql #Globals.DbType = mysql
#Globals.DbType = maria Globals.DbType = maria
#MariaDB
# hosts \ud30c\uc77c\uc5d0 \uc120 \ub4f1\ub85d \ud544\uc694 : 210.181.197.70 nlib-db.nculture.org
Globals.maria.DriverClassName=org.mariadb.jdbc.Driver
Globals.maria.Url=jdbc:mariadb://nlib-db.nculture.org:3306/uac_cltr_db
Globals.maria.UserName = uac_cltr
Globals.maria.Password = uac_cltr
# \uad8c\ud55c \uc778\uc99d\ubc29\uc2dd(dummy, session, security) - \uc0ac\uc6a9\uc790\uc758 \ub85c\uadf8\uc778\uc2dc \uc778\uc99d \ubc29\uc2dd\uc744 \uacb0\uc815\ud568 # \uad8c\ud55c \uc778\uc99d\ubc29\uc2dd(dummy, session, security) - \uc0ac\uc6a9\uc790\uc758 \ub85c\uadf8\uc778\uc2dc \uc778\uc99d \ubc29\uc2dd\uc744 \uacb0\uc815\ud568
# dummy : \ub354\ubbf8 \ubc29\uc2dd\uc73c\ub85c \uc0ac\uc6a9\uc790 \uad8c\ud55c\uc744 \uc778\uc99d\ud568 # dummy : \ub354\ubbf8 \ubc29\uc2dd\uc73c\ub85c \uc0ac\uc6a9\uc790 \uad8c\ud55c\uc744 \uc778\uc99d\ud568

View File

@ -0,0 +1,21 @@
<?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>
<!--Mybatis 설정 -->
<settings>
<!-- 전통적인 데이터베이스 컬럼명 형태인 A_COLUMN을 CamelCase형태의 자바 프로퍼티명 형태인 aColumn으로 자동으로 매핑하도록 함 -->
<setting name="mapUnderscoreToCamelCase" value="true"></setting>
<!-- 파라미터에 Null 값이 있을 경우 에러 처리 -->
<setting name="jdbcTypeForNull" value="VARCHAR"></setting>
</settings>
<!-- Type Aliases 설정-->
<typeAliases>
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap" />
<typeAlias alias="FileVO" type="egovframework.com.cmm.service.FileVO" />
<typeAlias alias="ComDefaultCodeVO" type="egovframework.com.cmm.ComDefaultCodeVO" />
<typeAlias alias="comDefaultVO" type="egovframework.com.cmm.ComDefaultVO" />
</typeAliases>
</configuration>

View File

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="FileManageDAO">
<resultMap id="fileList" type="egovframework.com.cmm.service.FileVO">
<result property="atchFileId" column="ATCH_FILE_ID"/>
<result property="fileCn" column="FILE_CN"/>
<result property="fileExtsn" column="FILE_EXTSN"/>
<result property="fileMg" column="FILE_SIZE"/>
<result property="fileSn" column="FILE_SN"/>
<result property="fileStreCours" column="FILE_STRE_COURS"/>
<result property="orignlFileNm" column="ORIGNL_FILE_NM"/>
<result property="streFileNm" column="STRE_FILE_NM"/>
<result property="creatDt" column="CREAT_DT"/>
</resultMap>
<resultMap id="fileDetail" type="egovframework.com.cmm.service.FileVO">
<result property="atchFileId" column="ATCH_FILE_ID"/>
<result property="fileCn" column="FILE_CN"/>
<result property="fileExtsn" column="FILE_EXTSN"/>
<result property="fileMg" column="FILE_SIZE"/>
<result property="fileSn" column="FILE_SN"/>
<result property="fileStreCours" column="FILE_STRE_COURS"/>
<result property="orignlFileNm" column="ORIGNL_FILE_NM"/>
<result property="streFileNm" column="STRE_FILE_NM"/>
</resultMap>
<select id="selectFileList" parameterType="FileVO" resultMap="fileList">
SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT
FROM
COMTNFILE a, COMTNFILEDETAIL b
WHERE
a.ATCH_FILE_ID = #{atchFileId}
AND
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
a.USE_AT = 'Y'
ORDER BY b.FILE_SN
</select>
<insert id="insertFileMaster" parameterType="FileVO">
INSERT INTO COMTNFILE
(ATCH_FILE_ID, CREAT_DT, USE_AT)
VALUES
( #{atchFileId}, SYSDATE(), 'Y')
</insert>
<insert id="insertFileDetail" parameterType="FileVO">
INSERT INTO COMTNFILEDETAIL
( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN )
VALUES
( #{atchFileId}, #{fileSn}, #{fileStreCours}, #{streFileNm},
#{orignlFileNm}, #{fileExtsn}, #{fileMg}, #{fileCn} )
</insert>
<delete id="deleteFileDetail" parameterType="FileVO">
DELETE FROM COMTNFILEDETAIL
WHERE
ATCH_FILE_ID = #{atchFileId}
AND
FILE_SN = #{fileSn}
</delete>
<select id="getMaxFileSN" parameterType="FileVO" resultType="java.lang.Integer">
SELECT IFNULL(MAX(FILE_SN),0)+1 AS FILE_SN
FROM COMTNFILEDETAIL
WHERE ATCH_FILE_ID = #{atchFileId}
</select>
<select id="selectFileInf" parameterType="FileVO" resultMap="fileDetail">
SELECT
ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE
FROM
COMTNFILEDETAIL
WHERE
ATCH_FILE_ID = #{atchFileId}
AND
FILE_SN = #{fileSn}
</select>
<update id="deleteCOMTNFILE" parameterType="FileVO">
UPDATE COMTNFILE
SET USE_AT = 'N'
WHERE ATCH_FILE_ID = #{atchFileId}
</update>
<select id="selectFileListByFileNm" parameterType="FileVO" resultMap="fileList">
SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT
FROM
COMTNFILE a, COMTNFILEDETAIL b
WHERE
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
a.USE_AT = 'Y'
<if test="searchCnd == 'streFileNm'">AND
b.STRE_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%')
</if>
<if test="searchCnd == 'orignlFileNm'">AND
b.ORIGNL_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%')
</if>
ORDER BY a.ATCH_FILE_ID, b.FILE_SN
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<select id="selectFileListCntByFileNm" parameterType="FileVO" resultType="java.lang.Integer">
SELECT
COUNT(a.ATCH_FILE_ID)
FROM
COMTNFILE a, COMTNFILEDETAIL b
WHERE
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
a.USE_AT = 'Y'
<if test="searchCnd == 'streFileNm'">AND
b.STRE_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%')
</if>
<if test="searchCnd == 'orignlFileNm'">AND
b.ORIGNL_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%')
</if>
</select>
<select id="selectImageFileList" parameterType="FileVO" resultMap="fileList">
SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT
FROM
COMTNFILE a, COMTNFILEDETAIL b
WHERE
a.ATCH_FILE_ID = #{atchFileId}
AND
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG')
AND
a.USE_AT = 'Y'
ORDER BY b.FILE_SN
</select>
</mapper>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<!-- 실행환경에서 빈이름 참조(EgovAbstractDAO) -->
<bean id="egov.lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />
<!-- Mybatis setup for Mybatis Database Layer -->
<bean id="egov.sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="egov.dataSource"/>
<property name="configLocation" value="classpath:/egovframework/mapper/config/mapper-config.xml" />
<property name="mapperLocations">
<list>
<value>classpath:/egovframework/mapper/com/**/*_${Globals.DbType}.xml</value>
</list>
</property>
</bean>
<!-- Mybatis Session Template -->
<bean id="egov.sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="egov.sqlSession"/>
</bean>
</beans>