JAVA

ํ‘œ์ค€ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด๋ถ€์—…๋ฌด ์‹œ์Šคํ…œ ํ…œํ”Œ๋ฆฟ ํ”„๋กœ์ ํŠธ ์‹คํ–‰

haribogumi 2025. 2. 13. 14:31
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ํ‘œ์ค€ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ณตํ†ต์ปดํฌ๋„ŒํŠธ์˜ ๊ธฐ๋Šฅ๋“ค ์ค‘ ์ผ๋ถ€๋ฅผ ์‚ฌ์šฉํ•œ ๋‚ด๋ถ€์—…๋ฌด ์‹œ์Šคํ…œ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ˜€

 

โœ” ๋ฉ”์ธ ํŽ˜์ด์ง€, ์—…๋ฌด์‚ฌ์šฉ์ž ๊ด€๋ฆฌ, ๊ณต์ง€์‚ฌํ•ญ ๊ด€๋ฆฌ, ๊ฒŒ์‹œํŒ ๊ด€๋ฆฌ, ๊ถŒํ•œ ๊ด€๋ฆฌ, ํ”„๋กœ๊ทธ๋žจ ๊ด€๋ฆฌ, ๋ฉ”๋‰ด ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

โœ” ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ๋œ ํ™˜๊ฒฝ ํ”„๋กœ๊ทธ๋žจ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ „์ž์ •๋ถ€ํ”„๋ ˆ์ž„์›Œํฌ 4.2
  • jdk 17
  • ํ†ฐ์บฃ 9.0
  • db : postgresql

 

 

์ฐธ๊ณ  ์†Œ์Šค

ํ‘œ์ค€ํ”„๋ ˆ์ž„์›Œํฌ ํ…œํ”Œ๋ฆฟ ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€์—…๋ฌด ์‹œ์Šคํ…œ ์ฐธ๊ณ ์šฉ ์†Œ์Šค๋ฅผ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” github ์ž…๋‹ˆ๋‹ค.

 

https://github.com/eGovFramework/egovframe-enterprise-business-template

 

GitHub - eGovFramework/egovframe-enterprise-business-template: Enterprise Business Template

Enterprise Business Template. Contribute to eGovFramework/egovframe-enterprise-business-template development by creating an account on GitHub.

github.com

 

 

ํ…Œ์ด๋ธ” ๋ฐ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ

github์—์„œ ๋‹ค์šด๋ฐ›์€ ์†Œ์Šค DATABASE ํด๋” ์•ˆ dml, ddl ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ DB์— ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๋ฐ ๊ธฐ์ดˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. dml ๋ฐ ddl์€ 5๊ฐ€์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Altibase, Cubrid, MySQL, Oracle, Tibero)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

postgresql ๋ฒ„์ „์€ ๋ฏธ์กด์žฌํ•˜์—ฌ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „์„ ์ฐธ์กฐํ•˜์—ฌ postgresql ๋ฒ„์ „ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

all_ebt_data_postgres.sql
0.06MB
all_ebt_ddl_postgres.sql
0.01MB

 

 

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

  • template-enterprise ๋นˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

 

  • ๋‹ค์šด๋ฐ›์€ ์†Œ์Šค ๋ฎ์–ด์“ฐ๊ธฐ

srcํด๋”์™€ pom.xml์„ ๋ณต์‚ฌํ•ด

 

ํ”„๋กœ์ ํŠธ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ > [Overwrite]

 

์„ค์ • ๋ณ€๊ฒฝ ๋ฐ ์‹คํ–‰

  • jdk 17๋กœ ๋ณ€๊ฒฝ

pom.xml ์—์„œ source,  target  ํƒœ๊ทธ๋ฅผ ์‚ญ์ œ ํ›„

		<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.11.0</version>
                    <configuration>
                        <release>17</release>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>

 

release ํƒœ๊ทธ ์ถ”๊ฐ€

		<dependency>
		     <groupId>org.postgresql</groupId>
		     <artifactId>postgresql</artifactId>
		     <version>42.6.0</version>
		</dependency>

 

  • globals.properties ์ˆ˜์ •

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ข…๋ฅ˜์— ๋”ฐ๋ผ DB์ ‘์†์ •๋ณด ์ˆ˜์ •

# DB์„œ๋ฒ„ ํƒ€์ž…(mysql,oracle,altibase,tibero,cubrid) - datasource ๋ฐ sqlMap ํŒŒ์ผ ์ง€์ •์— ์‚ฌ์šฉ๋จ
Globals.DbType = postgres
Globals.UserName = ID
Globals.Password = PW

#postgreSQL
Globals.DriverClassName = org.postgresql.Driver
Globals.Url = jdbc:postgresql://127.0.0.1:5432/egovbustmp

 

  • context-datasource.xml์— bean ์ถ”๊ฐ€
<!-- postgreSQL -->
    <bean id="dataSource-postgres" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${Globals.DriverClassName}"/>
        <property name="url" value="${Globals.Url}" />
        <property name="username" value="${Globals.UserName}"/>
        <property name="password" value="${Globals.Password}"/>
    </bean>

 

  • mapperํŒŒ์ผ( *_ postgres.xml)์ƒ์„ฑ

context-mapper.xml์— mapperLocations๊ฐ€ /egovframework/mapper/let/**/*_${Globals.DbType}.xml ํ˜•์‹์œผ๋กœ ์„ค์ •๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์œ„์น˜์— *_postgres.xml ํ˜•ํƒœ์˜ SQLํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

์ค‘๊ฐ„์ค‘๊ฐ„ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋งž๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ SQL์„ ์ˆ˜์ •ํ•ด์ค๋‹ˆ๋‹ค.

postgresql์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•œ ๋ถ€๋ถ„์„ ์‚ดํŽด๋ณด๋ฉด...

 

 

> SYSDATE()๋ฅผ NOW()๋กœ ๋ณ€๊ฒฝ

 

 

> DATE_FORMAT(์ปฌ๋Ÿผ๋ช…, '%Y%m%d')๋ฅผ TO_CHAR(์ปฌ๋Ÿผ๋ช…, 'YYYYMMDD')๋กœ ๋ณ€๊ฒฝ

 

 

> ADDDATE(SYSDATE(), -1)๋ฅผ NOW() - interval '1 day' ๋กœ ๋ณ€๊ฒฝ

 

 

> IFNULL, ISNULL, NVL๋“ฑ์„ COALESCE๋กœ ๋ณ€๊ฒฝ

 

 

  • ์„œ๋ฒ„ ์‹œ์ž‘

์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์•„๋ž˜์™€๊ฐ™์ด ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ตœ์ดˆ ๋กœ๊ทธ์ธ ๊ณ„์ • ์„ค์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ์ธ๊ณ„์ •(๊ด€๋ฆฌ์ž) : admin , ๋กœ๊ทธ์ธ์•”ํ˜ธ : 1

๋กœ๊ทธ์ธ๊ณ„์ •(์‚ฌ์šฉ์ž) : user1 , ๋กœ๊ทธ์ธ์•”ํ˜ธ : 1 

 

 

๋กœ๊ทธ์ธ์™„๋ฃŒโ—

 

 

 

 

 

 

 

 

 

 

๐Ÿงก๐Ÿ’›๐Ÿ’š๊ณต๊ฐ๊ณผ ๋Œ“๊ธ€์€ ํฌ์ŠคํŒ…์— ํฐ ํž˜์ด๋ฉ๋‹ˆ๋‹ค๐Ÿ’š๐Ÿ’™๐Ÿ’œ

๋ฐ˜์‘ํ˜•