S-JIS[2011-03-05/2013-06-09] �ύX����
Scala��JDBC���g����DB�ɃA�N�Z�X���Ă݂�B
|
Scala�ɂ�dbc�Ƃ���DB�A�N�Z�X�p�̃N���X�Q�����邯��ǂ��A�������ł����邱�Ƃ����A���ʂ�JDBC���g����DB�A�N�Z�X���Ă݂�B
�{�i�I�Ɏg���Ƃ������́A�e�X�g�f�[�^���y����肽���Ƃ������ړI�B
Java���ƃR���p�C�����Ȃ��Ǝ��s�ł��Ȃ����AScala����REPL�ォ����s�ł���̂Ŋy�B
JDBC�������ɂ́A�����P��java.sql�Ejavax.sql�̃N���X���g�������B
import java.sql.{ Array => _, _ }
import javax.sql._
���ujava.sql._�v�őS�N���X���C���|�[�g���Ă��܂��ƁA�uArray�v���z���Ƌ������Ďg���Ȃ��Ȃ�Bjava.sql.Array�Ȃ��Ԃ�g��Ȃ��̂ŁA�C���|�[�g���ɏ��O���Ă����B
���s���ɂ�JDBC�̃��C�u�����[�ijar�t�@�C���j���K�v�B
scala���N���iscala�R�}���h�����s�j����ۂɃN���X�p�X���w�肷��B�iREPL����ł��g�p�ł���j
��> scala -cp C:\oracle\jdbc\lib\ojdbc6.jar
Oracle�ɂȂ���B
val user = "scott"
val pass = "tiger"
val conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora92", user, pass)
conn.setAutoCommit(false)
�`
conn.close
��JRE1.6�Ƃ���ɑΉ�����JDBC�h���C�o�[�œ����Ă���AClass.forName()�͕s�v�B
SQL�����s����ɂ�Statement�iPreparedStatement�j���g�p����B
val conn = DriverManager.getConnection(�`) try { conn.setAutoCommit(false) |
|
val st = conn.createStatement try { st.execute(sql) } finally { st.close } |
val st = conn.prepareStatement(sql) try { st.set�` //�o�C���h�ϐ���ݒ� st.executeUpdate } finally { st.close } |
conn.commit } catch { case e => try conn.rollback catch{ case e => e.printStackTrace } throw e } finally { try conn.close catch{ case e => e.printStackTrace } } |
|
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@