ALTIBASE 사용자가이드 Templete

Size: px
Start display at page:

Download "ALTIBASE 사용자가이드 Templete"

Transcription

1 Real Alternative DBMS ALTIBASE, Since 1999 Hibernate 연동가이드 Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved.

2 Document Control Change Record Date Author Change Reference snkim Created ChunKeun-Kim Modified Reviews Date Name (Position) Distribution Name Location Hibernate 연동가이드 2 page of 36

3 목차 개요... 4 HIBERNATE 개요... 5 Hibernate 란?... 5 Hibernate 다운로드... 5 HIBERNATE 를이용한 SAMPLE 작성... 7 hibernate-mapping 파일작성... 7 hibernate-configuration 파일작성... 8 Application 작성... 8 ALTIBASE 연동 AltibaseDialect 클래스를 Hibernate jar 파일에포팅 ALTIBASE JDBC Driver 얻는방법 JDBC Driver 를설정하는방법 hibernate-configuration 파일에 dialect 를설정하여 ALTIBASE 와연동 FailOver 를이용한 Connection ALTIBASE5 와이전버전을동시에 Connection HIBERNATE, SPRING, ALTIBASE 연동 Spring 에 datasource 를설정하는경우 Hibernate 속성에 Connection 정보를설정하는경우 ALTIBASE 의 ConnectionPool 을이용 HIBERNATE 연동시고려사항 Hibernate 에서트랜잭션관리 LOB 데이터처리 Procedure/Function 호출 NativeSQL 실행 paging 문제해결 부록 DB 테이블및시퀀스생성 프로젝트생성 hibernate-mapping 파일작성 hibernate-configuration 파일작성 Application 작성 관련 jar 파일추가 Application 실행 Hibernate 연동가이드 3 page of 36

4 개요 본문서는 Hibernate 와 Hibernate+Spring 환경에서 ALTIBASE 와연동하는방법에대해기술한다. Hibernate 3.6.0, Spring Framework 2.5.6, ALTIBASE 는 버전, 개발 IDE 로는 Eclipse 를사용하였고, 문서이외에 ALTIBASE 를위한 Dialect 클래스인 AltibaseDialect 클래스및 chapter 별예제가별도로제공된다. 본문서와더불어개발시참고해야할문서들은다음과같다. 1. ALTIBASE 개발가이드 2. JAVA 개발가이드 3. ALTIBASE_JBOSS 연동가이드 4. ALTIBASE_TOMCAT 연동가이드 5. ALTIBASE_WEBSPHERE 연동가이드 6. ALTIBASE_WEBLOGIC 연동가이드 7. ALTIBASE_Spring 연동가이드 8. ALTIBASE_iBATIS 연동가이드 Hibernate 연동가이드 4 page of 36

5 Hibernate 개요 본장에서는 Hibernate 의개념과특징, 다운로드및사용방법에대해간단히살펴보도록한다. Hibernate 란? Hibernate 란프로그래머가 DB 를보다편리하게핸들링할수있게해주는 ORM(Object Relational Mapping) 프레임워크로서 DB 테이블과 Java 객체와의관계를 mapping 시켜 persistence logic 처리를도와주는역할을한다. 즉, Hibernate 를이용하면 DB 의테이블과 Java Persistence Object(JavaBean) 를 mapping(hibernate-mapping XML 파일 ) 시켜 DB 에 CRUD( 삽입, 조회, 수정, 삭제 ) 작업을쉽게할수있다. 다음은 Hibernate Architecture 를나타내는그림이다. Hibernate 의보다자세한아키텍처는다음의사이트를참고하면된다. 또는본기술문서와함께제공되는 hibernate-reference.pdf 문서를참고하기바란다. Hibernate 다운로드 Hibernate 를사용하기위해서 Hibernate 관련 jar 파일이필요하다. 이 jar 파일은 사이트에서다운로드받을수있다. 다운로드받은파일을압축풀면 lib 디렉토리의하위디렉토리안에여러가지 jar 파일들이존재하는데이 jar 파일들을이용하여 Hibernate 와연동하면된다. 본문서에서는 Hibernate 버전을사용하는데, 이버전의압축을푼디렉토리의이름은 hibernate-distribution final 이다. Hibernate 연동가이드 5 page of 36

6 본문서의예제파일들을실행하기위해필요한 Hibernate 관련 jar 파일은다음과같다. jar 파일 위치 hibernate3.jar commons-collections-3.1.jar javassist ga.jar dom4j jar slf4j-api jar jta-1.1.jar hibernate-jpa-2.0-api final.jar hibernate-distribution final hibernate-distribution final\lib\required hibernate-distribution final\lib\required hibernate-distribution final\lib\required hibernate-distribution final\lib\required hibernate-distribution final\lib\required hibernate-distribution final\lib\jpa 각예제에서는위의 jar 파일이외에추가해야하는파일들이있을수있는데해당 jar 파일은각 chapter 에기술된내용을참조하면된다. Hibernate 연동가이드 6 page of 36

7 Hibernate 를이용한 sample 작성 Hibernate 를이용하여 DB 와연동하기위해서는 hibernate-configuration XML 파일 (DB 와연동하기위한 Connection 정보및 dialect 를정의 ) 과 hibernate-mapping XML 파일 (Java Persistence Object 와 DB 테이블간의 mapping 을정의 ) 을작성해야한다. 본장에서는 hibernate-configuration XML 파일, hibernate-mapping XML 파일을작성하는방법과 Application 에서이파일을이용하여실제로 CRUD 작업을하는방법에대해설명한다. Sample 프로그램을작성하는보다자세한방법은부록부분을참고하면된다. hibernate-mapping 파일작성 hibernate-mapping XML 파일은 DB 테이블과 Java Object 사이의 mapping 정보를담고있는설정파일이다. 다음은 person 테이블과 Person class 간의 mapping 을정의한 hibernate-mapping XML 파일을작성한예제이다. (Person.hbm.xml) <?xml version="1.0" encoding="euc-kr"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" " <hibernate-mapping> <class name="examples.domain.person" table="person"> <id name="id" column="id" type="int"> <generator class="sequence"> <param name="sequence">person_seq</param> </generator> </id> <property name="name" column="name" type="string"/> <property name="birthdate" column="birth_date" type="date"/> <property name="weightinkilograms" column="weight_kg" type="double"/> <property name="heightinmeters" column="height_m" type="double"/> <property name="ismarried" column="is_married" type="boolean"/> </class> </hibernate-mapping> <class> 태그를이용해 Java Class 와 DB 테이블, 그리고 <property> 태그에테이블의컬럼과이컬럼에대응하는 Java Variable 에대한 mapping 을지정한다. 각각의태그에대한보다자세한설명은사이트를참고하거나첨부된문서 hibernatereference.pdf 파일을참고하면된다. Hibernate 연동가이드 7 page of 36

8 hibernate-configuration 파일작성 hibernate-configure 파일은 DB 연결을위한 Dialect 클래스와여러가지 Connection 정보및 hibernate-mapping 파일들을설정하는파일이다. 다음은 hibernate-configuration 파일 (Hibernate.cfg.xml) 예제이다. <?xml version='1.0' encoding="euc-kr"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" " <hibernate-configuration> <session-factory> <property name="connection.driver_class"> Altibase.jdbc.driver.AltibaseDriver</property> <property name="connection.url"> jdbc:altibase:// :21129/mydb</property> <property name="connection.username">sys</property> <property name="connection.password">manager</property> <property name="connection.pool_size">1</property> <property name="dialect"> org.hibernate.dialect.altibasedialect</property> <property name="current_session_context_class">thread</property> <property name="show_sql">true</property> <mapping resource="person.hbm.xml"/> </session-factory> </hibernate-configuration> <session-factory> 태그에 DB Connection 관련정보를설정하고 dialect 프로퍼티에연결하고자하는 DB 에알맞은 Dialect 클래스이름을명시해준다. 또한 <mappingresource> 태그를이용하여 hibernate-mapping 파일들을명시해준다. 각각의태그에대한보다자세한설명은 사이트를참고하거나첨부된문서 hibernate-reference.pdf 파일을참고하면된다. Application 작성 Application 에서 Session 객체를이용하면 Mapping 된객체와연동하여 DB 테이블에 CRUD 작업을처리할수있는데방법은다음과같다. 1. hibernate-configuraion 파일을통해 SessionFactory 객체를얻어온다. 2. SessionFactory 객체를통해 Session 객체를얻어온다. 3. Session 객체의 CRUD 에해당하는메소드를호출한다. 다음은 DB 의 person 테이블에데이터를삽입, 변경, 삭제, 조회하는 Application 이다. 예 ) AltibaseConnection 의 PersonApp.java SessionFactory sessionfactory = Hibernate 연동가이드 8 page of 36

9 new Configuration().configure("Hibernate.cfg.xml").buildSessionFactory(); Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); //insert Person Person newperson1 = new Person(); session.save(newperson1); tx.commit(); //select all Person Criteria crit = session.createcriteria(person.class); crit.addorder(order.asc("id")); List<Person> list = crit.list(); //update Person tx = session.begintransaction(); newperson1.setheightinmeters(1.93); newperson1.setweightinkilograms(86.36); session.update(newperson1); tx.commit(); //get Person Person person = (Person) session.get(person.class,newperson1.getid()); System.out.println(person); //delete Person tx = session.begintransaction(); session.delete(session.get(person.class, newperson1.getid())); tx.commit(); 먼저 hibernate-configuraion 파일을읽어들여 SessionFactory 객체를얻어온다. ( ) SessionFactory sessionfactory = new Configuration().configure("Hibernate.cfg.xml").buildSessionFactory(); 그리고 SessionFactory 객체를통해 Session 객체를얻어온다.( ) Session session = sessionfactory.opensession(); 이후 CRUD 에해당하는 Session 클래스의각각의메소드를호출한다. ( ) session.save(), session.update(), session.delete(), session.get(), session.createcriteria() 각각의태그에대한보다자세한설명은 사이트를참고하거나첨부된문서 hibernate-reference.pdf 파일을참고하면된다. Hibernate 연동가이드 9 page of 36

10 ALTIBASE 연동 Hibernate 에서 ALTIBASE 를연동하는위해서는 ALTIBASE JDBC Driver 를 setting 하고 hibernate-configuration 파일에 ALTIBASE 를위한 dialect 를지정하면된다. 본장에서는 ALTIBASE 에 specific 한 AltibaseDialect class 를 Hibernate jar 파일에포함시키는방법과 ALTIBASE JDBC Driver 를얻는방법, JDBC Driver 를설정하는방법, hibernate-configuration 파일에 dialect 를설정하는방법에대해설명한다. 또한, FailOver 기능을사용하는방법, 여러버전의 ALTIBASE 와연동하는방법에대해서도살펴본다. AltibaseDialect 클래스를 Hibernate jar 파일에포팅 DBMS 벤더는제품의특성에맞는비표준 SQL 을제공할수있다. Hibernate 에서는비표준 SQL 문을수행할수있도록제공하는데이때사용하는클래스가 Dialect 클래스이다. 그러나 Hibernate 에는기본적으로 ALTIBASE 를위한 Dialect 클래스를제공하고있지않기때문에 ALTIBASE 용 Dialect 클래스를 Hibernate jar(ex.hibernate3.jar) 파일에포함해야 ALTIBASE 에서제공하는여러가지비표준 SQL(limit 절, sequence 구문등 ) 을사용할수있다. ALTIBASE 에서는 AltibaseDialect 클래스를정식으로제공하지않는다. 다만 sample 파일을제공하여개발시참고할수있도록한다. 이 sample 파일은이해를돕기위해제공하는것이며사용자환경에따른정상동작의여부및유지보수는보장하지않는다. sample 파일은본문서와함께첨부된 Example 디렉토리안에 AltibaseDialect.java 파일과 AltibaseDialect.class 파일을참고하면된다. AltibaseDialect.class 파일을다운로드받은 Hibernate jar 파일에포함시키는방법은다음과같다. 1. Hibernate jar 파일의압축을푼다. 2. AltibaseDialect.class 파일을다음의디렉토리에위치시킨다. Hibernate jar 의압축을푼디렉토리 \org\hibernate\dialect ex) C:\hibernate-distribution Final\hibernate3\org\hibernate\dialect Hibernate 연동가이드 10 page of 36

11 3. Hibernate jar 의압축을푼디렉토리로이동한후 jar 명령어를이용하여 jar 파일로압축한다. Hibernate 연동가이드 11 page of 36

12 4. 이후생성된 hibernate3.jar 파일을 Hibernate jar 파일로사용한다. 본문서에서는 Hibernate 버전을사용했기때문에다른버전의 Hibernate jar 파일과 AltibaseDialect 클래스는호환이안될수있다. 함께첨부된 JARS/hibernate/hibernate3.jar 파일은 AltibaseDialect 클래스가포함된파일이다. ALTIBASE JDBC Driver 얻는방법 ALTIBASE 에서제공하는 JDBC driver 는 Altibase.jar 파일이다. 이파일은 ALTIBASE 가설치되어있는서버의 $ALTIBASE_HOME/lib 디렉토리안에존재한다. ALTIBASE 5 버전부터는 $ALTIBASE_HOME/lib 디렉토리에 Altibase.jar 파일과 Altibase5.jar 파일이존재하는데, Altibase.jar 는일반 JDBC Driver 파일이고, Altibase5.jar 는 ALTIBASE 5 버전과그이하의버전을함께연동하고싶을때사용하는 JDBC Driver 파일이다. 따라서하나의 ALTIBASE DB 와연동하거나, 또는버전이동일한여러대의 ALTIBASE 와연동할경우에는 $ALTIBASE_HOME/lib/Altibase.jar 파일을사용하면된다. 연동하려는 ALTIBASE DB Server 와 ALTIBASE JDBC Driver 가호환가능한지확인을위해 ALTIBASE JDBC Driver 버전확인이필요하다. ALTIBASE JDBC Driver 버전을확인하는방법은다음의명령어를수행하면된다. $ java jar Altibase.jar JDBC Driver Info : :35:28 Altibase Ver = for JavaVM v1.4, CMP:5.6.1, $Revision: $ Jan 이때, ALTIBASE DB Server 의 cm protocol version 과 ALTIBASE JDBC Driver 의 CMP 가동일하면호환가능하다. $ altibase -v version XEON_LINUX_redhat_Enterprise_AS4-64bit release-GCC3.4.6 (xeonredhat-linux-gnu) Jan :35:30, binary db version 5.4.1, meta version 5.6.1, cm protocol version 5.6.1, replication protocol version 버전이 UP 되면서 JDBC 관련버그가 fix 되었을가능성이있으므로, 일반적으로 ALTIBASE DB Server 의버전과같거나혹은이보다더최신의 ALTIBASE JDBC Driver 파일을사용하는것을권장한다. Hibernate 연동가이드 12 page of 36

13 JDBC Driver 를설정하는방법 다운로드받은 JDBC Driver 인 Altibase.jar 파일을 classpath 에추가하거나웹서버의적절한디렉토리에위치시킨다. 만약, Eclipse 를사용하여개발한다면다음과같이해당프로젝트에 ALTIBASE JDBC Driver 를추가할수있다. 프로젝트 JRE System Library [J2SE-1.5] - Properties Installed JREs 항목중 jre 를클릭 Edit Add External JARs 를클릭하여 ALTIBASE JDBC Driver 인 Altibase.jar 를추가한다. Hibernate 연동가이드 13 page of 36

14 hibernate-configuration 파일에 dialect 를설정하여 ALTIBASE 와연동 hibernate-configuration 파일의 <sessionfactory> 의 <property> 태그를이용하여 ALTIBASE 연동을위한 Connection 관련정보와 dialect 클래스를지정한다. 이때, 정의된각각의 property 는다음의값을의미한다. Property connection.driver_class connection.url connection.username connection.password dialect 설명 ALTIBASE JDBC driver class Name Altibase.jdbc.driver.AltibaseDriver 를기입 ALTIBASE 와연결을위한 Connection string 정보 jdbc:altibase://ip:port_no/db_name 형태로기입 데이터베이스계정 데이터베이스패스워드 AltibaseDialect 클래스이름 org.hibernate.dialect.altibasedialect 를기입 다음은 hibernate-configuration 파일에서 ALTIBASE Connection 정보들을 setting 하는예제이다. 예 ) AltibaseConnection 의 Hibernate.cfg.xml 파일 <hibernate-configuration> <session-factory> <property name="connection.driver_class"> Altibase.jdbc.driver.AltibaseDriver</property> <property name="connection.url"> jdbc:altibase:// :21129/mydb</property> <property name="connection.username">sys</property> <property name="connection.password">manager</property> <property name="dialect"> org.hibernate.dialect.altibasedialect</property> <property name="connection.pool_size">1</property> <property name="current_session_context_class">thread</property> <property name="show_sql">true</property> <mapping resource="person.hbm.xml"/> </session-factory> </hibernate-configuration> ALTIBASE 와연결하기위해 connection.driver_class, connection.url, connection.username, connection.password 를설정하고있다. 또한 dialect 프로퍼티에 AltibaseDialect 클래스를지정하고, hibernate-mapping 파일인 Person.hbm.xml 파일을 setting 하고있다. 위의 AltibaseConnection 프로젝트를실행하기 Hibernate 관련 jar 파일들과 Altibase.jar 파일이필요하다. Hibernate 연동가이드 14 page of 36

15 FailOver 를이용한 Connection ALTIBASE 부터 FailOver 를지원하는데, FailOver 기능을사용하기위해서는 hibernate-configuration 파일의 connection.url 프로퍼티에 FailOver 관련속성을넣어주면된다. 다음은 FailOver 를이용하여 ALTIBASE 에연결하는예제이다. 예 ) FailoverSample 의 Hibernate.cfg.xml 파일 <property name="connection.url">jdbc:altibase:// :21129/mydb?alternateservers=( :20300)&ConnectionRetryCount=1&ConnectionRetryDelay=1&S essionfailover=on&loadbalance=off </property> 위의파일에지정한 Connection url 부분에정의하는 FailOver 관련 property 는다음과같다. Property AlternateServer ConnectionRetryCount ConnectionRetryDelay LoadBalance 설명 장애발생시접속하게될가용서버를나타내며 (IP Address1:Port1, IP Address2:Port2,...) 형식으로기술한다. 가용서버접속실패시, 접속시도반복횟수 가용서버접속실패시, 다시접속을시도하기전에대기하는시간 ( 초단위 ) on 으로설정하면최초접속시도시에기본서버와가용서버를포함하여랜덤으로선택한다. off 로설정하면최초접속시도시에기본서버에접속하고, 접속에실패하면 AlternateServer 로기술한서버에접속한다. SessionFailOver STF(Service Time Fail-Over) 를할것인지여부를나타낸다. on : STF, off : CTF Hibernate 연동가이드 15 page of 36

16 Property 설명 CTF(Connection Time Fail-Over) 는 DBMS 접속시점에장애를인식하여장애가발생한 DBMS 대신다른가용 STF(Service Time Fail-Over) 는 DBMS 접속에성공하여노드의 DBMS 로접속하고서비스를진행한다. 서비스하는도중에장애가발생하는것으로, 다른가용노드의 DBMS 에다시접속하여세션의프로퍼티를복구한후사용자응용프로그램의업무로직을다시수행하도록하는것을의미한다. 즉장애가발생한 DBMS 에서수행된작업을다시한번수행할필요가있는경우이다. 위의 FailoverSample 프로젝트를실행하기위해서는 hibernate-configuration 파일에 dialect 를설정하여 ALTIBASE 와연동 부분과동일한 jar 파일들이필요하다. ALTIBASE5 와이전버전을동시에 Connection ALTIBASE 5 부터는하나의어플리케이션에서 ALTIBASE 5 와 ALTIBASE 4 혹은 ALTIBASE 3 와동시에연결할수있도록 ALTIBASE 5 버전전용의 JDBC Driver(Altibase5.jar) 를제공한다. 이 Driver 를이용하면 ALTIBASE 5 ALTIBASE 4, 혹은 ALTIBASE 5 ALTIBASE 3, ALTIBASE ALTIBASE 간두버전의 ALTIBASE 에접속이가능하다. 기존의 Altibase.jar 와구별하기위해별도로 ALTIBASE 5 전용의 Altibase5.jar 가필요하다. 또한 hibernate-configuration 파일의 connection.driver_class 프로퍼티에지정하는 JDBC Driver 클래스이름도기존의 Altibase.jdbc.driver.AltibaseDriver 대신 ALTIBASE 5 전용의 Altibase5.jdbc.driver.AltibaseDriver 를지정해야한다. Hibernate 에서다른버전의 ALTIBASE 와연동하기위해서는각버전에해당하는 hibernate-configuration 파일을별도로작성하여 Application 에서각각의 hibernateconfiguration 파일을읽어오면된다. 이때주의할점은 Application 에서 Altibase5.jdbc.driver.AltibaseDriver 를먼저로딩한후에 Altibase.jdbc.driver.AltibaseDriver 를로딩해야한다는것이다. 다음은 Altibase.jar 와 Altibase5.jar 파일을이용하여두버전의 ALTIBASE 의드라이버를로딩하는예제이다. 예 ) MultiVersionConnection 의 Hibernate.Altibase5.cfg.xml 파일 ALTIBASE 5 버전에대한설정 <property name="connection.driver_class">altibase5.jdbc.driver.altibasedriver </property> 예 ) MultiVersionConnection 의 Hibernate.Altibase4.cfg.xml 파일 ALTIBASE 5 이전버전에대한설정 Hibernate 연동가이드 16 page of 36

17 <property name="connection.driver_class">altibase.jdbc.driver.altibasedriver </property> 예 ) MultiVersionConnection 의 PersonApp.java 파일 SessionFactory sessionfactory1 = new Configuration().configure("Hibernate.Altibase5.cfg.xml").buildSessionFactory(); SessionFactory sessionfactory2 = new Configuration().configure("Hibernate.Altibase4.cfg.xml").buildSessionFactory(); Session session1 = sessionfactory1.opensession(); Session session2 = sessionfactory2.opensession(); 위의 PersonApp.java 예제를보면 Altibase5.jdbc.driver.AltibaseDriver 를 Altibase.jdbc.driver.AltibaseDriver 보다먼저로딩하기위해 Altibase5.jdbc.driver.AltibaseDriver 를 connection.driver_class 로사용하는 Hibernate.Altibase5.cfg.xml 파일을먼저읽어오고있다. 반드시 ALTIBASE5 전용의드라이버를먼저로딩해야한다는것에유의해야한다. 예제에포함된 MultiVersionConnection 프로젝트를실행하기위해서는기존에사용했던 jar 파일뿐만아니라, Altibase5.jar 파일이더필요하다. 이파일들은 ALTIBASE 가설치된디렉토리 ($ALTIBASE_HOME) 의 lib 디렉토리안에존재하는데 ALTIBASE 5 버전의 Altibase5.jar 파일, 그이전버전의 Altibase.jar 파일을사용하면된다. Hibernate 연동가이드 17 page of 36

18 Hibernate, Spring, ALTIBASE 연동 ALTIBASE 와연동하기위해서는 Hibernate 의 property 로 Connection 정보와 dialect 를지정해서연결할수도있고, Spring 에 datasource 를지정해서연결할수도있다. 본장에서는이두방법을이용하여 ATLIBASE 와연동하는방법에대해설명한다. Spring 에 datasource 를설정하는경우 Hibernate 와 Spring 을함께사용하기위해서는다음의과정이필요하다. 1. Spring 의 applicationcontext.xml 파일에 DB 연동을위한 datasource 를작성한다. datasource 를설정하는방법은 ALTIBASE_Spring_ 연동가이드 문서를참고하면된다. 2. applicationcontext.xml 파일에 Hibernate 의 sessionfactory bean 을지정해준다. 이때 <property name="datasource"> 에 1 번에서설정한 datasource 를지정하고, < property name="mapping-resource > 에 hibernate-mapping 파일들을지정한다. 그리고 <property name="hibernate Properties > 를이용해 Hibernate 에관한여러가지속성들을정의한다. 3. applicationcontext.xml 파일에서각각의 DAO bean 에 SessionFactory bean 을참조하도록설정해준다. 4. DAO 클래스에서설정한 SessionFactory 객체를통해 Session 객체를얻어와 CRUD 에해당하는메소드들을호출한다. 다음은 applicationcontext.xml 파일에서 datasource 와 sessionfactory bean 을지정해주는예제이다. 예 ) SpringAltibaseConnection1 의 applicationcontext.xml 파일 <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <property name="driverclassname" value="altibase.jdbc.driver.altibasedriver"/> <property name="url" value="jdbc:altibase:// :21129/mydb"/> <property name="username" value="sys"/> <property name="password" value="manager" /> </bean> <bean id="sessionfactory" class="org.springframework.orm.hibernate3.localsessionfactorybean"> <property name="datasource" ref="datasource"/> <property name="mappingresources"> <list> <value>person.hbm.xml</value> </list> </property> <property name="hibernateproperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.altibasedialect</prop> </props> </property> Hibernate 연동가이드 18 page of 36

19 </bean> <bean id="persondao" class="examples.domain.persondao" > <constructor-arg ref="sessionfactory" /> </bean> 위의예제 SpringAltibaseConnection1 프로젝트를실행하기위해서는 hibernateconfiguration 파일에 dialect 를설정하여 ALTIBASE 와연동 부분에서필요했던 jar 파일들뿐만아니라 spring 관련된 jar 파일이더필요하다. jar 파일의자세한디렉토리위치는 ALTIBASE_Spring_ 연동가이드 문서를참고하면된다. Hibernate 속성에 Connection 정보를설정하는경우 Hibernate+Spring 환경에서 Hibernate 에 Connection 속성을지정하여연결할경우에는다음의과정이필요하다. 1. applicationcontext.xml 파일에 Hibernate 의 SessionFactory bean 을지정해준다. < property name="mapping-resource > 에 hibernate-mapping 파일들을지정한다. 그리고 <property name="hibernate Properties > 태그안에 Connection 관련정보및 dialect 클래스를정의한다. 2. 각각의 DAO bean 에 sessionfactory bean 을참조하도록설정해준다. 3. DAO 클래스에서설정한 SessionFactory 객체를통해 Session 객체를얻어와 CRUD 에해당하는메소드들을호출한다. 다음은 Hibernate 에 Connection 속성을설정하여 ALTIBASE 와연동하는예제이다. 예 ) SpringAltibaseConnection2 의 applicationcontext.xml 파일 Hibernate 연동가이드 19 page of 36

20 <bean id="sessionfactory" class="org.springframework.orm.hibernate3.localsessionfactorybean"> <property name="mappingresources"> <list> <value>person.hbm.xml</value> </list> </property> <property name="hibernateproperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.altibasedialect</prop> <prop key="hibernate.connection.driver_class"> Altibase.jdbc.driver.AltibaseDriver</prop> <prop key="hibernate.connection.url"> jdbc:altibase:// :21129/mydb</prop> <prop key="hibernate.connection.username">sys</prop> <prop key="hibernate.connection.password">manager</prop> <prop key="hibernate.connection.pool_size">1</prop> <prop key="hibernate.current_session_context_class">thread</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <bean id="persondao" class="examples.domain.persondao" > <constructor-arg ref="sessionfactory" /> </bean> SpringAltibaseConnection2 예제를실행하기위해서는 Spring 에 datasource 를설정하는경우 부분과같은 jar 파일들이필요하다. ALTIBASE 의 ConnectionPool 을이용 ALTIBASE 에서제공하는 ABConnectionPoolDataSource 클래스를사용하면 ALTIBASE 의 ConnectionPool 을이용할수있다. 만약, Hibernate + Spring 연동환경이라면 Spring 의 applicationcontext.xml 파일에 ABConnectionPoolDataSource 클래스를이용하여 datasource bean 을정의하면된다. 하지만, Spring 과연동없이 Hibernate 만사용한다면 ALTIBASE 의 ConnectionPool 을사용할수없다. ALTIBASE 의 ConnectionPool 을이용하는자세한내용은 ALTIBASE_Spring_ 연동가이드 문서를참고하여설정하면된다. 예 ) AltibaseConnectionPool 의 applicationcontext.xml 파일 <bean id="datasource" class="altibase.jdbc.driver.abconnectionpooldatasource"> Hibernate 연동가이드 20 page of 36

21 <property name="url" value="jdbc:altibase:// :21129/mydb"/> <property name="user" value="sys"/> <property name="password" value="manager" /> </bean> AltibaseConnectionPool 예제를실행하기위해서는 Spring 에 datasource 를설정하는경우 부분과같은 jar 파일들이필요하다. Hibernate 연동가이드 21 page of 36

22 Hibernate 연동시고려사항 Hibernate 에서 ALTIBASE 와연동할경우고려해야할사항에대해설명한다. Hibernate 에서트랜잭션관리 Hibernate 에서트랜잭션을처리할때는 Application 에서 Session 클래스의 begintransaction() 메소드를호출한후 Transaction 클래스의 commit() / rollback() 메소드를호출하면된다. begintransaction() 메소드를호출할때자동으로 setautocommit(false) 가호출되어트랜잭션이유지되고, 이후 commit() / rollback() 메소드를호출하면해당트랜잭션이종료된다. 예 ) AltibaseConnection 의 PersonApp.java 파일 Transaction tx = session.begintransaction(); //insert Person Person newperson1 = new Person(); session.save(newperson1); tx.commit(); //update Person tx = session.begintransaction(); newperson1.setheightinmeters(1.93); newperson1.setweightinkilograms(86.36); session.flush(); tx.commit(); //delete Person tx = session.begintransaction(); session.delete(session.get(person.class, newperson1.getid())); tx.commit(); LOB 데이터처리 Hibernate 에서 LOB 을처리하기위해서는 hibernate-mapping 파일에컬럼과변수의 mapping 을정의한 <property> 태그에 CLOB 일경우에는 type= org.hibernate.type.stringclobtype, sql-type= clob 으로정의해주고 BLOB 일경우에는 type= org.hibernate.type. PrimitiveByteArrayBlobType, sql-type= blob 으로정의해줘야한다. 그렇지않을경우에길이제한에의해올바르지않은데이터를입력하거나잘못된데이터를질의할수있다. 또는 Invalid length 등의에러가발생할수도있다. 다음은 CLOB 과 BLOB 타입의데이터에대한 <property> 를 setting 하는예제이다. Hibernate 연동가이드 22 page of 36

23 예 ) LobSample 의 LobSample.hbm.xml(hibernate-mapping) 파일 <hibernate-mapping> <class name="com.altibase.lob.lobsample" table="lobsample"> <id name="lob_id" column="lob_id" type="int"> <generator class="assigned"/> </id> <property name="clobcolumn" type="org.hibernate.type.stringclobtype"> <column name="clobcolumn" sql-type="clob"/> </property> <property name="blobcolumn" type="org.hibernate.type.primitivebytearrayblobtype"> <column name="blobcolumn" sql-type="blob"/> </property> </class> </hibernate-mapping> 뿐만아니라, LOB 처리시반드시주의해야할또다른사항은 ALTIBASE 에서 LOB 데이터를처리하기위해서는반드시 autocommit 모드를 false 로바꾼후트랜잭션을관리해줘야한다는것이다. Hibernate 연동시 Session 의 begintransaction() 메소드를호출하면자동으로 setautocommit(false) 를해주기때문에 LOB 을처리하기전 begintransaction() 메소드를호출하면된다. Hibernate 와 Spring 을함께연동할경우 Spring 에서트랜잭션을관리해주더라도 aucocommit 을 false 가적용되지않을수있으므로반드시 Java Application 에서 begintransaction() 메소드를호출하는방법을권장한다. 만약 begintransaction() 메소드를호출하지않았다면다음과같은에러및현상이발생할수있다. 1. LOB 데이터조회시 null 값이리턴되거나, java.sql.sqlexception: [0]:LobLocator can not span the transaction 과같은에러가발생 2. LOB 데이터입력시 java.sql.sqlexception: [0]: Connection is in autocommit mode. One can not operate on LOB datas with autocommit mode on. 에러가발생 다음의예제는 Hibernate 에서 LOB 을처리하는예제이다. 예 ) LobSample 의 LobApp.java 파일 Transaction tx = session.begintransaction(); StringBuffer msg=new StringBuffer("Existing Disk-based RDBMS (also known as Disk-Resident DBMSs or DRDBMSs" ); for(int i=0; i<10;i++){ msg.append(msg.tostring()); Lobsample lob1 = new Lobsample(1,msg.toString(),msg.toString().getBytes()); session.save(lob1); tx.commit(); session.flush(); tx = session.begintransaction(); Hibernate 연동가이드 23 page of 36

24 Lobsample Lobsample1 = (Lobsample) session.get(lobsample.class,lob1.getlob_id()); System.out.println(Lobsample1.getClobcolumn().substring(0, 100)); System.out.println(Lobsample1.getBlobcolumn()); tx.commit(); 위의 LobSample 프로젝트를실행하기위해서는 hibernate-mapping 파일에 dialect 를설정하여 ALTIBASE 와연동 부분과같은 jar 파일들이필요하다. Procedure/Function 호출 Hibernate 에서 DB 에생성한 Stored Procedure/Function 을호출은지원하지않기때문에 Session 객체를통해 Connection 객체를얻어와서일반 JDBC 에서호출하는방법처럼 CallableStatement 를이용해야한다. 다음은 Stored Procedure/Function 을호출하는예제이다. 예 ) ProcedureSample 의 Procedure/Function 생성구문 CREATE OR REPLACE PROCEDURE sum_proc ( p_num1 IN NUMBER, p_num2 IN NUMBER, p_num3 OUT NUMBER ) AS BEGIN p_num3 := p_num1 + p_num2; END; / CREATE OR REPLACE FUNCTION sum_func ( p_num1 IN NUMBER, p_num2 IN NUMBER ) RETURN NUMBER AS v_num NUMBER; BEGIN v_num := p_num1 + p_num2; RETURN v_num; END; / 예 ) ProcedureSample 의 ProcedureApp.java SessionFactory sessionfactory = new Configuration().configure().buildSessionFactory(); Session session = sessionfactory.opensession(); Hibernate 연동가이드 24 page of 36

25 Connection con =session.connection(); // Stored Procedure 호출 String sql1 = "{call sum_proc(?,?,?)"; CallableStatement altibasestatement1 = con.preparecall(sql1); altibasestatement1.setint(1,10); altibasestatement1.setint(2,20); altibasestatement1.registeroutparameter(3,java.sql.types.numeric); altibasestatement1.execute(); System.out.println(altibaseStatement1.getDouble(3)); // Stored Function 호출 String sql2 = "{call? := sum_func(?,?)"; CallableStatement altibasestatement2 = con.preparecall(sql2); altibasestatement2.registeroutparameter(1,java.sql.types.numeric); altibasestatement2.setint(2,10); altibasestatement2.setint(3,20); altibasestatement2.execute(); System.out.println(altibaseStatement2.getDouble(1)); ProcedureSample 예제를실행하기위해서는 hibername-mapping 파일에 dialect 를설정하여 ALTIBASE 와연동 과같은 jar 파일들이필요하다. NativeSQL 실행 SQL 문중 MOVE 구문은 ALTIBASE 에서만제공하는문장이다. 이렇게특정 DBMS 가제공하는 DBMS specific 한내용들을실행하는방법은다음과같다. 1. hibernate-mapping 파일에 nativesql 구문을작성한다. 2. Application 에서 session 객체의 getnamedquery() 메소드를호출하여 Query 객체를얻어온다. 3. Query 객체의각각의 SQL 문을실행하는메소드를호출한다 (ex. executeupdate(), list() 등 ) 다음은 MOVE 문을실행하는예제이다. 예 ) NativeSQL 의 NativeSQL.hbm.xml 파일 <hibernate-mapping> <sql-query name="nativesqlmove"> <![CDATA[ MOVE INTO t2 (c1,c2,c3) FROM t1(c1,c2,c3) ]]> </sql-query> </hibernate-mapping> Hibernate 연동가이드 25 page of 36

26 예 ) NativeSQL 의 NativeSQLApp.java SessionFactory sessionfactory = new Configuration().configure("Hibernate.cfg.xml").buildSessionFactory(); Session session = sessionfactory.opensession(); Query query = session.getnamedquery("nativesqlmove"); Transaction tx = session.begintransaction(); int rows = query.executeupdate(); tx.commit(); System.out.println(rows+" data moved"); NativeSQL 예제를실행하기위해서는 hibername-mapping 파일에 dialect 를설정하여 ALTIBASE 와연동 부분과같은 jar 파일들이필요하다. Hibernate 연동가이드 26 page of 36

27 paging 문제해결 hibernate ALTIBASE 게시판구성에서페이징처리시마지막페이지가제대로보이지않는다면다음과같이조치한다. AltibaseDialect.java 파일... /* */... public boolean bindlimitparametersinreverseorder() { return false; 해당메소드주석처리후본문 AltibaseDialect 클래스를 Hibernate jar 파일에포팅부분을참고한다. 포함된 sample 소스인 Example.zip 은해당부분이수정된 jar 파일을포함하고있다. Hibernate 연동가이드 27 page of 36

28 부록 AltibaseConnection 예제를바탕으로 Hibernate 에서 ALTIBASE 와연동하는방법에대해좀더자세하게설명한다. 단, IDE 는 Eclipse 를사용한다. DB 테이블및시퀀스생성 DB 에다음의테이블과시퀀스를생성한다. (create_tbl.sql 파일참고 ) CREATE TABLE PERSON( ID NUMBER (5, 0) NOT NULL, NAME VARCHAR (40) NOT NULL, BIRTH_DATE DATE, WEIGHT_KG NUMBER (4, 2) NOT NULL, HEIGHT_M NUMBER (4, 2) NOT NULL, IS_MARRIED CHAR(1), PRIMARY KEY (ID) ); CREATE SEQUENCE PERSON_SEQ; 프로젝트생성 Eclipse에서 AltibaseConnection 이라는프로젝트를생성한다. 1. 메뉴 File New - Java Project 클릭 2. Project name : 에 AltibaseConnection 입력 3. Finish 버튼을클릭 Hibernate 연동가이드 28 page of 36

29 hibernate-mapping 파일작성 DB 의 person 테이블과 Person class(java object) 사이의 mapping 정보를정의한 hibernate-mapping 파일을작성한다. (Person.hbm.xml) 1. AltibaseConnection 프로젝트 src 디렉토리에서마우스오른쪽버튼클릭하여 New File 을클릭한다. 2. File name: 에 Person.hbm.xml 을작성한다. Hibernate 연동가이드 29 page of 36

30 다음의내용을 Person.hbm.xml 파일에작성한다. <?xml version="1.0" encoding="euc-kr"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" " <hibernate-mapping> <class name="examples.domain.person" table="person"> <id name="id" column="id" type="int"> <generator class="sequence"> <param name="sequence">person_seq</param> </generator> </id> <property name="name" column="name" type="string"/> <property name="birthdate" column="birth_date" type="date"/> <property name="weightinkilograms" column="weight_kg" type="double"/> <property name="heightinmeters" column="height_m" type="double"/> <property name="ismarried" column="is_married" type="boolean"/> </class> </hibernate-mapping> person 테이블의컬럼과 Person class 의변수를 <property> 태그를통해각각 mapping 해준다. 이때 Java 의 boolean 타입은 DB 에서지원하는타입이아니므로 0(false), 1(true) 의값으로저장하도록컬럼을 CHAR(1) 의타입으로생성하였다. hibernate-configuration 파일작성 1. ALTIBASE 연결을위한 dialect 를정의하는 hibernate-configuration 파일을작성한다. (AltibaseConnection 프로젝트 src 디렉토리에서마우스오른쪽버튼클릭하여 New File 을클릭한다. File name: 에 Hibernate.cfg.xml 을작성한다.) <?xml version='1.0' encoding="euc-kr"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" " <hibernate-configuration> <session-factory> <property name="connection.driver_class"> Altibase.jdbc.driver.AltibaseDriver</property> <property name="connection.url"> jdbc:altibase:// :21129/mydb</property> <property name="connection.username">sys</property> <property name="connection.password">manager</property> <property name="connection.pool_size">1</property> <property name="dialect"> org.hibernate.dialect.altibasedialect</property> <property name="current_session_context_class">thread</property> <property name="show_sql">true</property> <mapping resource="person.hbm.xml"/> Hibernate 연동가이드 30 page of 36

31 </session-factory> </hibernate-configuration> Application 작성 1. person 테이블에대한 DO 객체인 Person 클래스 (Person.java) 를작성한다 AltibaseConnection 프로젝트의 src 디렉토리에서마우스오른쪽버튼클릭하여 New Class 를클릭한다 Package: 에 examples.domain 를입력하고 Name: 에 Person 를입력한다. 다음의내용을 Person.java 파일에작성한다. package examples.domain; import java.sql.*; public class Person { private int id; private String name; private Date birthdate; private double weightinkilograms; private double heightinmeters; private boolean ismarried; public int getid () { return id; public void setid (int id) { this.id = id; public void setname(string name) { Hibernate 연동가이드 31 page of 36

32 this.name = name; public String getname() { return name; public void setbirthdate(date birthdate) { this.birthdate = birthdate; public Date getbirthdate() { return birthdate; public void setweightinkilograms(double weightinkilograms) { this.weightinkilograms = weightinkilograms; public void setismarried(boolean ismarried) { this.ismarried = ismarried; public double getweightinkilograms() { return weightinkilograms; public void setheightinmeters(double heightinmeters) { this.heightinmeters = heightinmeters; public double getheightinmeters() { return heightinmeters; public boolean getismarried() { return ismarried; public String tostring(){ return "id="+id+", name="+name+", birthdata="+birthdate+", weightinkillograms=" +weightinkilograms+",heightinmeters="+heightinmeters+",ismarried="+i smarried; 2. DB 에 CRUD 를실행하는 main 프로그램 (PersonApp.java) 을작성한다 AltibaseConnection 프로젝트의 src 디렉토리에서마우스오른쪽버튼클릭하여 New Class 를클릭한다 Name: 에 PersonApp 를입력한다. Hibernate 연동가이드 32 page of 36

33 다음의내용을 PersonApp.java 파일에작성한다. import java.sql.sqlexception; import java.util.*; import org.hibernate.sessionfactory; import org.hibernate.session; import org.hibernate.transaction; import org.hibernate.cfg.configuration; import org.hibernate.criteria; import org.hibernate.criterion.order; import examples.domain.person; public class PersonApp { public static void main(string[] args) throws SQLException { SessionFactory sessionfactory = new Configuration().configure().buildSessionFactory(); Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); //insert Person System.out.println("insert Person"); Person newperson1 = new Person(); newperson1.setname("kim"); newperson1.setbirthdate (new java.sql.date(1978,1-1,1)); newperson1.setheightinmeters(1.82); newperson1.setweightinkilograms(80.23); newperson1.setismarried(true); session.save(newperson1); Person newperson2 = new Person(); newperson2.setname("lee"); newperson2.setbirthdate (new java.sql.date(1975,5-1,5)); newperson2.setheightinmeters(1.57); newperson2.setweightinkilograms(45.23); newperson2.setismarried(false); session.save(newperson2); Hibernate 연동가이드 33 page of 36

34 tx.commit(); System.out.println(); System.out.println("select all Persons"); Criteria crit = session.createcriteria(person.class); crit.addorder(order.asc("id")); List<Person> list = crit.list(); System.out.println("Selected "+list.size()+" records."); for(int i=0; i< list.size();i++){ System.out.println(list.get(i)); tx = session.begintransaction(); //update Person //Session 범위내에서변경된객체값은자동으로 DB 에반영 System.out.println(); System.out.println("update Person"); newperson1.setheightinmeters(1.93); newperson1.setweightinkilograms(86.36); System.out.println(); tx.commit(); Person person = (Person) session.get(person.class,newperson1.getid()); System.out.println(person); //delete Person tx = session.begintransaction(); System.out.println(); System.out.println("delete Person"); session.delete(session.get(person.class, newperson1.getid())); //session.delete(session.get(person.class, newperson2.getid())); tx.commit(); crit = session.createcriteria(person.class); crit.addorder(order.asc("id")); list = crit.list(); System.out.println("Selected "+list.size()+" records."); for(int i=0; i< list.size();i++){ System.out.println(list.get(i)); 관련 jar 파일추가 Altibase.jar 와 hibernate 관련 jar 파일을추가한다. AltibaseConnection 프로젝트에서마우스오른쪽버튼클릭하여 Properties 를클릭 Java Build Path Libraries 에서 Add External JARS 를클릭하여필요한 jar 파일들을추가한다. Hibernate 연동가이드 34 page of 36

35 Application 실행 AltibaseConnection 프로젝트를실행한다. AltibaseConnection 프로젝트를클릭한후메뉴에서 Run 을실행하거나 Run 실행단추를클릭한다. Hibernate 연동가이드 35 page of 36

36 알티베이스 서울특별시구로구구로 3 동 대륭포스트 2 차 1008 호 대전사무소대전광역시서구둔산동 921 주은리더스텔 901 호 기술지원센터 support@altibase.com ATC (ALTIBASE Technical Center) Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved. 이문서는정보제공을목적으로제공되며, 사전에예고없이변경될수있습니다. 이문서는오류가있을수있으며, 상업적또는특정목적에부합하는명시적, 묵시적인책임이일체없습니다. 이문서에포함된 ALTIBASE 제품의특징이나기능의개발, 발표등의시기는 ALTIBASE 재량입니다. ALTIBASE는이문서에대하여관련된특허권, 상표권, 저작권또는기타지적재산권을보유할수있습니다. Hibernate 연동가이드 36 page of 36

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ibatis 연동가이드 2010. 09 Copyright c 2000~2014 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference 2010-09 snkim

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 Spring 연동가이드 2010. 08 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference 2010-08 snkim

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 Spring 연동가이드 2014. 10 Copyright c 2000~2014 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference 2010-08 snkim

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인 표준프레임워크로구성된컨텐츠를솔루션에적용하는것에문제가없는지확인 ( S next -> generate example -> finish). 2. 표준프레임워크개발환경에솔루션프로젝트추가. ( File -> Import -> Existring Projects into

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 MyBatis 연동가이드 2014. 10 Copyright c 2000~2014 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference 2013-12 sypark

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS 환경의 ALTIBASE ODBC 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

슬라이드 1

슬라이드 1 - 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

FileMaker ODBC 및 JDBC 가이드

FileMaker ODBC 및 JDBC 가이드 FileMaker ODBC JDBC 2004-2019 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, FileMaker Cloud, FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker,

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

FileMaker 15 ODBC 및 JDBC 설명서

FileMaker 15 ODBC 및 JDBC 설명서 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)

More information

FileMaker ODBC and JDBC Guide

FileMaker ODBC and JDBC Guide FileMaker 13 5 5 5 6 6 6 7 7 8 8 8 8 9 9 10 10 11 11 12 12 12 12 12 12 13 13 14 14 16 16 18 4 19 19 20 20 21 21 21 23 23 23 23 25 26 26 26 26 27 28 28 28 28 29 31 31 32 33 33 33 33 34 34 35 35 35 36 1

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

Microsoft PowerPoint - hci2-lecture12 [호환 모드] Serialization C# Serialization 321190 2012 년가을학기 11/28/2012 박경신 Serializaiton( 직렬화 ) 란객체상태를지속시키거나전송할수있는형식으로변환하는과정으로, Serialization 반대로다시객체로변환하는것을 Deserialization 임 Serialization i 을사용하는이유 객체의상태를저장소에보존했다가나중에똑같은복사본을다시만들기위하거나,

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

JMF2_심빈구.PDF

JMF2_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE & TOMCAT 연동가이드 ALTIBASE 6 2014. 10 Copyright c 2000~2014 ALTIBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for 메일서버등록제(SPF) 인증기능적용안내서 (Exchange 2003 - Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for Exchange 2016 년 6 월 - 1 - 목 차 I. 개요 1 1. SPF( 메일서버등록제)

More information

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Facebook API

Facebook API Facebook API 2조 20071069 임덕규 20070452 류호건 20071299 최석주 20100167 김민영 목차 Facebook API 설명 Android App 생성 Facebook developers App 등록 Android App Facebook SDK 추가 예제 Error 사항정리 Facebook API Social Plugin Facebook

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

교육자료

교육자료 THE SYS4U DODUMENT Java Reflection & Introspection 2012.08.21 김진아사원 2012 SYS4U I&C All rights reserved. 목차 I. 개념 1. Reflection 이란? 2. Introspection 이란? 3. Reflection 과 Introspection 의차이점 II. 실제사용예 1. Instance의생성

More information

07 자바의 다양한 클래스.key

07 자바의 다양한 클래스.key [ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,

More information

FileMaker ODBC and JDBC Guide

FileMaker ODBC and JDBC Guide FileMaker 14 5 5 5 5 6 6 6 7 7 7 8 8 8 9 9 10 10 11 11 12 12 12 12 12 13 13 14 15 16 17 18 18 19 19 20 20 20 21 21 21 22 22 22 22 23 24 24 24 24 25 27 27 28 29 29 29 29 30 30 31 31 31 32 1 1 1 1 1 1 1

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 설치및환경설정 JDBC 접속세션구분 / 확인 2013. 11. 01 개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 사용하기 JEUS 에서설정방법

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

iBATIS-SqlMaps-2-Tutorial

iBATIS-SqlMaps-2-Tutorial ibatis SQL Maps 튜토리얼 For SQL Maps Version 2.0 June 17, 2004 번역 : 이동국 (fromm0@gmail.com) 오타및오역은위메일주소로보내주시기바랍니다. 1 소개 이튜토리얼은 SQL Maps 의전형적인사용법을설명한다. 각각의주제에대해서좀더상세한정보는 http://www.ibatis.com 에 서얻을수있는 SQL Maps

More information

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public Chapter 9 Lab 문제정답 1. public class Circle private double radius; static final double PI=3.141592; // PI 이름으로 3.141592 로초기화된정적상수 (1) public Circle(double r) radius = r; (2) public double getradius() return

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE & TOMCAT 연동가이드 ALTIBASE 5 2010. 01 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 (https://www.kisarbl.or.kr) < 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 Ⅰ. 개요 실시간스팸차단리스트 (RBL) 는메일서버를운영하는누구나손쉽게효과적으로스팸수신을차단하는데이용할수있도록한국인터넷진흥원 (KISA)

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

<session-factory> <property name="hibernate.connection.driver_class">oracle.jdbc.driver.oracledriver</property> <property name="hibernate.connection.u

<session-factory> <property name=hibernate.connection.driver_class>oracle.jdbc.driver.oracledriver</property> <property name=hibernate.connection.u JBoss Hibernate Tools 를이용한 Entity 코드생성하기 OOP 개발교육의중심오라클자바커뮤니티 http://ojc.asia DDL 코드가작성되어있거나운영중인서비스를업그레이드하는경우에는 ORM 개발이라고하더라도 Top-down 방식의 개발방법론만을고집하지말고때에따라서는전통적인방식의접근이편리할것이다. 데이터베이스의이미존재하는테이블을바탕으로리버스엔지니어링을통해

More information

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 Index 1. 표준프레임워크 EGOVCI 팩키지설치... 3 1.1 개요... 3 1.2 EGOVCI 압축풀기... 3 1.3 EGOVCI 시스템구성... 3 1.4 CI 시스템구동 (START/STOP)... 4 2. NEXUS 설정정보... 6 2.1 NEXUS 서버구동

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 9 장생성자와접근제어 이번장에서학습할내용 생성자 정적변수 정적메소드 접근제어 this 클래스간의관계 객체가생성될때초기화를담당하는생성자에대하여살펴봅니다. 생성자 생성자 (contructor): 객체가생성될때에필드에게초기값을제공하고필요한초기화절차를실행하는메소드 생성자의예 class Car { private String color; // 색상

More information

chapter1,2.doc

chapter1,2.doc JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information