기관데이터 insert 쿼리, VO 추가

This commit is contained in:
psh 2024-06-05 21:28:36 +09:00
parent 482430a46a
commit 688e8c471f
4 changed files with 97 additions and 12 deletions

View File

@ -0,0 +1,28 @@
package egovframework.com.mtdata.database.vo;
import lombok.Getter;
import lombok.Setter;
// author : psh
@Getter
@Setter
public class ColumnInfoVO {
/** 컬럼 아이디 */
private int columnId;
/** 테이블 아이디 */
private int tableId;
/** 컬럼 이름 */
private String columnNm;
/** 타입 */
private String columnType;
/** null 허용 */
private boolean isNullable;
/** pk여부 */
private boolean isPkey;
/** fk 여부 */
private boolean isFkey;
/** 컬럼 ?? */
private String columnDc;
/** default_value */
private String defaultValue;
}

View File

@ -0,0 +1,28 @@
package egovframework.com.mtdata.database.vo;
import lombok.Getter;
import lombok.Setter;
// author : psh
@Getter
@Setter
public class TableInfoVO {
/** 테이블 아이디 */
private int tableId;
/** DB 아이디 */
private int dbLinkId;
/** 테이블명 */
private String tableNm;
/** 테이블 description ? */
private String tableDc;
/** 테이블 등록날짜 */
private String registDate;
/** ??? */
private String engine;
}

View File

@ -16,14 +16,19 @@
</resultMap> </resultMap>
<insert id="insertDbInfo" parameterType="DatabaseInfoVO"> <insert id="insertDbInfo" parameterType="DatabaseInfoVO">
<selectKey resultType="int" keyProperty="dbLinkId" order="BEFORE">
SELECT nextval('inst_db_info_db_link_id_seq') as dbLinkId
</selectKey>
INSERT INTO INST_DB_INFO INSERT INTO INST_DB_INFO
(DB_CONN_ID, (DB_LINK_ID,
DB_NM) DB_CONN_ID,
VALUES DB_NM)
(#{dbConnId}, VALUES
#{dbNm}) (#{dbLinkId},
#{dbConnId},
#{dbNm})
</insert> </insert>
<insert id="insertDbConnInfo" parameterType="DatabaseInfoVO"> <insert id="insertDbConnInfo" parameterType="DatabaseInfoVO">
INSERT INTO INST_DB_CONN_INFO INSERT INTO INST_DB_CONN_INFO
(SYS_ID, (SYS_ID,
@ -45,7 +50,7 @@
SELECT LAST_INSERT_ID() SELECT LAST_INSERT_ID()
</selectKey> </selectKey>
</insert> </insert>
<select id="selectSysDb" resultMap="databaseInfoMap"> <select id="selectSysDb" resultMap="databaseInfoMap">
SELECT B.* SELECT B.*
FROM (SELECT ROW_NUMBER() OVER() rn, A.* FROM (SELECT ROW_NUMBER() OVER() rn, A.*
@ -70,18 +75,18 @@
<if test='dbType != null and(dbType eq "mysql".toString())'> <if test='dbType != null and(dbType eq "mysql".toString())'>
, (SELECT CONCAT(DB_TYPE||'_'||B.DB_CONN_ID) AS pgSourceNm ) , (SELECT CONCAT(DB_TYPE||'_'||B.DB_CONN_ID) AS pgSourceNm )
</if> </if>
FROM INST_DB_CONN_INFO A FROM INST_DB_CONN_INFO A
LEFT OUTER JOIN ( LEFT OUTER JOIN (
SELECT DB_CONN_ID, STRING_AGG(DB_NM, ', ' ) DBNMLIST SELECT DB_CONN_ID, STRING_AGG(DB_NM, ', ' ) DBNMLIST
FROM INST_DB_INFO FROM INST_DB_INFO
WHERE USE_YN = 'Y' WHERE USE_YN = 'Y'
GROUP BY DB_CONN_ID GROUP BY DB_CONN_ID
) B ) B
ON (A.DB_CONN_ID = B.DB_CONN_ID) ON (A.DB_CONN_ID = B.DB_CONN_ID)
WHERE DB_TYPE = #{dbType} WHERE DB_TYPE = #{dbType}
ORDER BY SYS_ID , A.DB_CONN_ID ORDER BY SYS_ID , A.DB_CONN_ID
</select> </select>
<select id="checkDbConnInfo" parameterType="DatabaseInfoVO" resultType="java.lang.Integer"> <select id="checkDbConnInfo" parameterType="DatabaseInfoVO" resultType="java.lang.Integer">
SELECT COUNT(*) SELECT COUNT(*)
FROM INST_DB_CONN_INFO FROM INST_DB_CONN_INFO
@ -89,6 +94,22 @@
AND DB_CONN_IP = #{dbConnIp} AND DB_CONN_IP = #{dbConnIp}
</select> </select>
<insert id="insertDbTblInfo" parameterType="TableInfoVO">
<selectKey resultType="int" keyProperty="tableId" order="BEFORE">
SELECT nextval('inst_db_tbl_info_seq') as tableId
</selectKey>
INSERT INTO INST_DB_TBL_INFO
( TABLE_ID, DB_LINK_ID, TABLE_NM, TABLE_DC, REGIST_DATE, ENGINE )
VALUES
( #{tableId}, #{dbLinkId}, #{tableNm}, #{tableDc}, #{registDate}, #{engine} )
</insert>
<insert id="insertTblColInfo" parameterType="ColumnInfoVO">
INSERT INTO inst_tbl_col_info (table_id, column_nm, column_type, is_nullable, is_pkey, is_fkey, column_dc, default_value)
VALUES (#{tableId}, #{columnNm}, #{columnType}, #{isNullable}, #{isPkey}, #{isFkey}, #{columnDc}, #{defaultValue})
</insert>
<select id="selectRegisterdDBInfoList" parameterType="DatabaseInfoVO" resultType="DatabaseInfoVO"> <select id="selectRegisterdDBInfoList" parameterType="DatabaseInfoVO" resultType="DatabaseInfoVO">
SELECT SELECT
row_number() over () as row, row_number() over () as row,
@ -371,4 +392,4 @@
AND column_id = #{columnId} AND column_id = #{columnId}
</update> </update>
</mapper> </mapper>

View File

@ -12,5 +12,13 @@
<typeAlias alias="DBInfoVO" type="egovframework.com.mtdata.database.vo.DBInfoVO"/> <typeAlias alias="DBInfoVO" type="egovframework.com.mtdata.database.vo.DBInfoVO"/>
<typeAlias alias="DBTblInfoVO" type="egovframework.com.mtdata.database.vo.DBTblInfoVO"/> <typeAlias alias="DBTblInfoVO" type="egovframework.com.mtdata.database.vo.DBTblInfoVO"/>
<typeAlias alias="DBTblColInfoVO" type="egovframework.com.mtdata.database.vo.DBTblColInfoVO"/> <typeAlias alias="DBTblColInfoVO" type="egovframework.com.mtdata.database.vo.DBTblColInfoVO"/>
<typeAlias alias="tableInfoVO" type="egovframework.com.mtdata.database.vo.TableInfoVO"/>
<typeAlias alias="columnInfoVO" type="egovframework.com.mtdata.database.vo.ColumnInfoVO"/>
<!-- 원천데이터 -->
</typeAliases> </typeAliases>
</configuration> </configuration>