헤로쿠 클라우드에 배포할때 필요한 파일 2개 입니다.
참고: 아래 hsql용 설정을 log4jdbc 드라이버를 추가해서 디버그를 편리하게 사용함(아래)
<!-- /tmp/hsql_file.db를 자동으로 생성함(헤로쿠일떄) c:/를 앞에 붙이면(로컬PC용) -->
<!--
<beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<beans:property name="url" value="jdbc:hsqldb:file:c:/tmp/hsql_file.db;hsqldb.lock_file=false" />
<beans:property name="username" value="sa" />
<beans:property name="password" value="" />
</beans:bean>
-->
<beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name="driverClassName"
value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></beans:property>
<beans:property name="url"
value="jdbc:log4jdbc:hsqldb:file:c:/tmp/hsql_file.db;hsqldb.lock_file=false"></beans:property>
<beans:property name="username" value="sa"></beans:property>
<beans:property name="password" value=""></beans:property>
</beans:bean>
1. hsql DB를 생성할 때 필요한 스크립트 파일: 자바기반 DB인 HsqlDB
- 스키마(테이블)+더미데이터 생성 스크립트 파일:
- root-context.xml 에 추가로 필요한 내용
- HSQL DataBase Manager 프로그램은 여러가지(이클립스 DB브라우저, 상용 Hsql뷰어 등) 있으나,
- hsql.jar 드라이브에 내장된 자바프로그램이 개발자에겐 제일 적당합니다.
<!-- CREATE TABLE 초기 1회만 실행 단, 헤로쿠로 배포시 항상 주석 해제 후 배포합니다. -->
<jdbc:initialize-database data-source="dataSource" ignore-failures="DROPS">
<jdbc:script location="classpath:/db_script/hsql_file.sql" />
</jdbc:initialize-database>
<!-- 로컬(PC) Hsql용-헤로쿠클라우드에 배포용 드라이버 설정(나중에) -->
<!-- HSQLDB FILE기반 사용 헤로쿠에 올릴때 생성경로는 /tmp/embeded/hsql_file.db;hsqldb.lock_file=false , 로컬PC일때 경로는 c:/egov/workspace/embeded/hsql_file.db;hsqldb.lock_file=false -->
<bean id="dataSource-hsql_local" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:file:c:/egov/workspace/embeded/hsql_file.db;hsqldb.lock_file=false" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
<bean id="dataSource-hsql_prod" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:file:/tmp/embeded/hsql_file.db;hsqldb.lock_file=false" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
<!-- 테스트 실행용 DB매니저 실행:실제 사용시 아래 value - - 공백제거 하세요. -->
<bean depends-on="dataSource-hsql_local"
class="org.springframework.beans.factory.config.MethodInvokingBean">
<property name="targetClass" value="org.hsqldb.util.DatabaseManagerSwing" />
<property name="targetMethod" value="main" />
<property name="arguments">
<list>
<value>--url</value>
<value>jdbc:hsqldb:file:c:/egov/workspace/embeded/hsql_file.db;hsqldb.lock_file=false</value>
<value>--user</value>
<value>sa</value>
<value>--password</value>
<value></value>
</list>
</property>
</bean>
- 공식 사이트 http://hsqldb.org/
2. Hsql로 변경시 오라클 쿼리와 달라진 쿼리파일들(Mysql과 공통으로 사용가능합니다. 단, 소스내 주석 참조필수)
- 아직 수업중이어서 게시물관리까지 되어 있고, 댓글 쿼리는 누락되어 있습니다.
+ 댓글 쿼리추가한 부분 입니다.
Ps. 댓글 입력/삭제시 부모테이블의 댓글카운터값을 변경하는 쿼리는 아래 2가지 결과는 동일 합니다.
1(Mysql). update tbl_board set reply_count = (select count(*) from tbl_reply where bno = #{bno})
where bno = #{bno}
2(Oracle) DAO에서 HashMap형태를 테스트하기 위해서 아래 처럼 사용해 보았습니다..
update tbl_board set
reply_count = reply_count + #{count}
where bno = #{bno}
스프링4.0 이전 부터 사용한 RestAPI처리 방식인 JsonView설명 (0) | 2021.07.06 |
---|---|
URL인코딩을 첨부파일 다운로드에 적용시 (0) | 2021.06.24 |
이클립스 오류 기본 클래스 을(를) 찾거나 로드할 수 없습니다 처리 (0) | 2021.05.25 |
스프링4를 스프링5로 마이그레이션 시작_1 (0) | 2020.12.13 |
jstl 내부에 java변수와 로직을 넣을 일이 있을때 (0) | 2020.09.21 |
댓글 영역