DATOR


Groovy SQL을 이용한 데이터 핸들링 #3

이번에는 Groovy SQL의 DataSet에 대해서 알아보겠습니다.

DataSet은 단일 테이블 작업에 대한 작업을 간단히 처리할 수 있게 해주는 편리한 기능입니다.
GORM의 극히 일부 기능을 구현해 놓은 것 같은 느낌이 드는 기능이지만 간단히 사용하기에 편리합니다.
개인적으로는 Grails의 GORM을 그대로 Groovy에서 사용할 수 있었으면 하는 바램이 있지만
아직 공식적으로 GORM을 Groovy에서 그냥 사용할 수 있는 방법은 없습니다. 
(약간의 꼼수로 GORM을 Groovy에서 사용할 수는 있습니다.)

앞 강좌에서 사용하던 sql 객체를 가져와서 진행합니다. 

def sql = Sql.newInstance('oracle.jdbc.driver.OracleDrive', 'userid', 'passwd', 'jdbc:oracle:thin:@192.168.1.36:1521:ora11g')  

다음은 DataSet을 생성합니다.

 def emp = sql.dataSet('EMP') 

 여기서 생성한 emp 객체에 add를 하면 바로 레코드가 추가 됩니다.

 emp.add( name: '유재석', job : 'Gagman', birth : '19700101' ) 

// 복수개의 레코드를 생성할 때 
(0..100).each { i ->
 emp.add( name: i, job : "job${i}")
}
 이런 기능은 좋은데 아쉽게도 dataset에서 update / delete는 지원하지 않습니다.  
 조회할 때는 다음과 같습니다.  
emp.each {
  println it.name
} 
  간단히 emp 테이블에 있는 name 컬럼을 조회해서 출력했습니다.  
 조건을 줘야 할 필요가 있거나 할때는 findAll 이라는 메서드를 사용합니다.
def rows = emp.findAll {
  it.name = '유재석'
}
rows.each { 
  println it.name
} 

  다양한 조건이 필요할때는 

 def rows = emp.findAll { it.name = '유재석' && birth >= '19700101' } 
  rows.each {
    println it.name
  } 
 Groovy SQL에 대해서 간단히 소개를 했습니다. 기본적인 CRUD에 대해 알아봤으니
 다음엔 실제로 Groovy를 사용해서 데이터를 처리 하는 코드를 리뷰하도록 하겠습니다.


Leave Comments

댓글 쓰기 권한이 없습니다. 회원 가입후에 사용 가능합니다