Seedo Scala Framework で SELECT (MySQL)

Posted 2011年1月3日 by

MySQLに接続してSELECTします。

今回は、Bean を使います。
DEPT表の Bean を生成して、BeanのSELECTしたレコードデータを格納します。
executeQuery関数でデータをデータベースから取りこみ ArrayBuffer[T] として返します。

package test
import seedo.database._
import scott.bean._

object sample03 {
//	val driverName = "oracle.jdbc.driver.OracleDriver"
	val driverName = "com.mysql.jdbc.Driver"
//	val dns = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL"
	val dns = "jdbc:mysql://127.0.0.1:3306/seedo?useUnicode=true&characterEncoding=UTF-8"
	val user ="scott"
	val password ="tiger"
	var dbx:Db = null

	def scala1 :Unit = {
		try {
			dbx = new Db(driverName, dns, user, password)
			dbx.select("*").from("DEPT").where("deptno >= ?",10).orderBy("dname")
			println(" --- BEAN")
			println(dbx.toString)
			println(dbx.getSql)
			dbx.executeQuery[DEPT](classOf[DEPT]).foreach(c =>{
				println(c.toString)
				println(c.toJson)
				println(c.toXml)
				println(c.toXmlModified)
				println("-----------------")
			})
			println(" --- ColumnNameList")
			dbx.getColumnNameList.foreach(c =>{
				print(" " + c)
			})
			println
		} catch {
			case e:Exception => {println(e.getMessage)}
		} finally {
			dbx.close
		}
	}
	def main(args : Array[String]) : Unit = {
		scala1
	}
}



データの出力形式は、toString 関数はカンマ区切り、toJson 関数はJSON形式、toXml 関数はXML形式、toXmlModified 関数はXML形式でSELECTしたカラムのみ出力します。

c.toString
c.toJson
c.toXml
c.toXmlModified


driverName と dns のコメントを入れ替えればMySQL から Oracle に接続します。

実行した結果です。

JDBC Driver:MySQL-AB JDBC Driver Version:mysql-connector-java-5.1.13 ( Revision: ${bzr.revision-id} )
Database:MySQL Version:5.5
 --- BEAN
select * from DEPT where deptno >= ? order by dname [10]
select * from DEPT where deptno >= ? order by dname
10,ACCOUNTING,NEW YORK
{"DEPT" : {"DEPTNO" : "10","DNAME" : "ACCOUNTING","LOC" : "NEW YORK"}}
<DEPT><DEPTNO>10</DEPTNO><DNAME>ACCOUNTING</DNAME><LOC>NEW YORK</LOC></DEPT>
<DEPT><DEPTNO>10</DEPTNO><DNAME>ACCOUNTING</DNAME><LOC>NEW YORK</LOC></DEPT>
-----------------
40,OPERATIONS,BOSTON
{"DEPT" : {"DEPTNO" : "40","DNAME" : "OPERATIONS","LOC" : "BOSTON"}}
<DEPT><DEPTNO>40</DEPTNO><DNAME>OPERATIONS</DNAME><LOC>BOSTON</LOC></DEPT>
<DEPT><DEPTNO>40</DEPTNO><DNAME>OPERATIONS</DNAME><LOC>BOSTON></LOC></DEPT>
-----------------
20,RESEARCH,DALLAS
{"DEPT" : {"DEPTNO" : "20","DNAME" : "RESEARCH","LOC" : "DALLAS"}}
<DEPT><DEPTNO>20</DEPTNO><DNAME>RESEARCH</DNAME><LOC>DALLAS</LOC></DEPT>
<DEPT><DEPTNO>20</DEPTNO><DNAME>RESEARCH</DNAME><LOC>DALLAS</LOC></DEPT>
-----------------
30,SALES,CHICAGO
{"DEPT" : {"DEPTNO" : "30","DNAME" : "SALES","LOC" : "CHICAGO"}}
<DEPT><DEPTNO>30</DEPTNO><DNAME>SALES</DNAME><LOC>CHICAGO</LOC></DEPT>
<DEPT><DEPTNO>30</DEPTNO><DNAME>SALES</DNAME><LOC>CHICAGO</LOC></DEPT>
-----------------
 --- ColumnNameList
 DEPTNO DNAME LOC


Post Details

  • Post Title: Seedo Scala Framework で SELECT (MySQL)
  • Author: admin
  • Filed As: Scala
  • Tags:
  • You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

コメントを残す