-- 같은 내용의 글만 자꾸 생기는 것 같아 스팩이 바뀌면 본 글에 추가한다.

enka 이용이 가능하게 되어 스팩 정리차 업데이트.

번원피 성배가 나와준 덕에 조금이나마 스팩업이 가능해졌다.

원충이 떨어졌지만 치확 치피가 조금 올라갔다. 굿굿.

그나저나 enka 정말 편하다..

 

----------------------------------------------------- 230212 이전 -----------------------------------------------------

한달간 절연만 파밍하게 한 원흉..

아직도 라이덴 종결은 못냈지만 어쨋든 꽤나 스팩업이 되었다.

라이덴 예전 스팩은 아래.

https://bluedawn6.tistory.com/198

 

라이덴 스팩 및 세팅 정리

번개속성 창 캐릭. 번개신 라이덴. 현재까지 원신 세계관에서 최고의 딜러라 생각함. 명함도, 1돌도 물론 충분히 좋지만, 라이덴은 2돌이 킹갓이다. 난 처음 출시 했을 때 1돌까지 해줬고, 라이덴

bluedawn6.tistory.com

 

예전엔 공퍼와 치피가 너무 낮아서 영 만족스러운 스코어가 아니었다.

아무리 절연을 돌아도 만족스러운 원충 시계나 번개 성배가 나오지 않아서

적당히 타협점을 찾았다.

쿠조사라가 쓰던 공퍼 성배에 원충이 많이 붙어 있으므로

그걸 뺏어다가 모자른 공퍼를 채우고, 번개성배랑 왕관도 바꿔주고 해서 어찌저찌

24스코어까지 만들었다.. 하아..

치확이 너무 아쉽지만 이정도를 만드는데도 너무 오랜 시간이 걸린 마당에 더욱 스팩업이 가능할까? 싶다..

예전 18스코어에 비하면 많은 발전을 했으니 욕심 부리지 말고 일단 이정도에서 만족하자.

 


* deploy 경로
WebApp/deploy/프로젝트명.war

* DB 설정 추가하기 ( standalone.xml  파일 )
  => standalone.xml  파일에서 DB설정 추가
- 경로 : /JBOSS/domains/프로젝트명/configuration/standalone.xml
- <datasources> 에 하단 내용 추가

(오라클 기준)

<datasource jndi-name="java:/jdbc/tb" pool-name="tb" enabled="true" use-java-context="true">
   <connection-url>jdbc:oracle:thin:@192.168.200.119:1521:XE</connection-url>
   <driver>oracle</driver>
   <pool>
     <min-pool-size>10</min-pool-size>
     <max-pool-size>15</max-pool-size>
     <prefill>true</prefill>
   </pool>
   <security>
     <user-name>tb</user-name>
     <password>1234</password>
   </security>
   <validation>
     <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
     <validate-on-match>false</validate-on-match>
     <background-validation>true</background-validation>
     <background-validation-millis>10000</background-validation-millis>
     <use-fast-fail>false</use-fast-fail>
   </validation>
     <statement>
     <prepared-statement-cache-size>100</prepared-statement-cache-size>
     <share-prepared-statements>true</share-prepared-statements>
   </statement>
</datasource>

 

 -- <Drivers> 에 추가

(오라클 기준)

<driver name="oracle" module="com.oracle">
   <driver-class>oracle.jdbc.OracleDriver</driver-class>
</driver>



* 오라클 드라이버 추가

/JBOSS/jboss-eap-7.4/modules/system/layers/base/com/ 

위 경로를 보면 다양한 DB연결 api들이 있다. 해당 경로에 oracle 폴더가 있는지 확인하고 없다면 /oracle/main/ 추가.

ojdbc 등 DB접속에 필요한 파일을 복사해 넣고, 넣은 파일들을 기준으로 

동일 폴더에 module.xml 파일 생성 후 하단 내용 추가.

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle">
    <resources>
	     <resource-root path="ojdbc6-11.2.0.3.jar" />
	     <resource-root path="ojdbc8-19.8.0.0.jar" />
         <resource-root path="orai18n-19.3.0.0.jar" />
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

resource-root 부분을 파일에 맞게 수정


* Web.xml
경로 : 프로젝트 소스 내 /WEB-INF/web.xml 파일 수정

<resource-ref>
    <description>Datasource Contents Server</description>
    <res-ref-name>jdbc/tb</res-ref-name> <!-- JNDI 명 -->
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>



* jboss-web.xml 
경로 : 프로젝트 소스 내 /WEB-INF/jboss-web.xml
jboss-web.xml  수정. (없으면 생성)

<!DOCTYPE jboss-web PUBLIC
   "-//JBoss//DTD Web Application 5.0//EN"
   "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
   
<jboss-web> 
    <resource-ref>
        <res-ref-name>jdbc/jdbc/tb</res-ref-name>
        <jndi-name>java:/jdbc/tb</jndi-name> <!-- standalone.xml 파일의 JNDI-NAME -->
    </resource-ref>
</jboss-web>

 

-- MariaDB 10.4 기준으로 작성 --

SELECT TABLE_SCHEMA
             , TABLE_NAME
             , COLUMN_NAME
             , ORDINAL_POSITION
             , CONCAT(
                  GROUP_CONCAT(
                        CASE WHEN SUBSTR(COLUMN_NAME, SEQ - 1, 1) = '_'
                                        THEN UPPER(SUBSTR(COLUMN_NAME, SEQ, 1))
                                 ELSE LOWER(SUBSTR(COLUMN_NAME, SEQ, 1))
                         END
                   ORDER BY SEQ SEPARATOR '')
                ,'') AS CAMELCASE
    FROM INFORMATION_SCHEMA.COLUMNS
   INNER JOIN seq_1_to_20 ON SEQ <= LENGTH(COLUMN_NAME)
 WHERE TABLE_SCHEMA = '스키마명'
       AND TABLE_NAME = '테이블명'
       AND SUBSTR(COLUMN_NAME, SEQ, 1) != '_'
 GROUP BY TABLE_SCHEMA
             , TABLE_NAME
             , COLUMN_NAME
             , ORDINAL_POSITION
 ORDER BY ORDINAL_POSITION

-- 실행하면 해당 테이블의 컬럼들을 카멜케이스가 적용된 형태의 결과값을 볼 수 있다.

* 테이블 PK 설정하기

ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 PRIMARY KEY (column1, column2, ... column_n);

ex) 

ALTER TABLE emp
ADD CONSTRAINT emp_pk PRIMARY KEY (column1, column2, ... column_n);

 

* 참고.

pk를 재설정 하기위해 기존에 설정된 PK 삭제가 필요할 때

-- 인덱스와 제약조건 둘 다 삭제
ALTER TABLE 테이블명 DROP PRIMARY KEY DROP INDEX;


-- 제약조건만 삭제. 인덱스 남김
ALTER TABLE 테이블명 DROP PRIMARY KEY KEEP INDEX;

/* 오라클 도메인 만들기 */
SELECT '-- ' || TABLE_NAME ||  '	/* ' || COMMENTS || ' */' AS res
  FROM ALL_TAB_COMMENTS
 WHERE TABLE_NAME = '테이블명'
 UNION all
 SELECT 'private ' || decode(DATA_TYPE,'VARCHAR2','String',
					'VARCHAR' ,'String',
					'CHAR'    ,'String',
					'DATE'    ,'String',
					'NUMBER'  ,'Integer','')
		 || ' ' || a.COLUMN_NAME  || '; ' ||  '	/* ' || b.COMMENTS || ' ' || a.DATA_TYPE || ' */'
  FROM ALL_TAB_COLUMNS a, ALL_COL_COMMENTS b
 WHERE a.COLUMN_NAME = b.COLUMN_NAME 
   AND a.TABLE_NAME = b.TABLE_NAME
   AND a.TABLE_NAME = '테이블명';

테이블명만 잘 입력해주면 된다.

전체 선택 후 복사해서 JAVA에서 쓰면 됨.

+ Recent posts