# 環境設定

# ビルドツールの設定

uroboroSQLをMavenプロジェクトに組み込むには、pom.xmlに以下のライブラリ依存関係を追加して下さい。 uroboroSQLMaven Central Repository (opens new window)で公開されています。

<dependency>
  <groupId>jp.co.future</groupId>
  <artifactId>uroborosql</artifactId>
  <version>0.25.0</version>
</dependency>
1
2
3
4
5

また、0.18.0+ より式言語ライブラリの選択が可能になりました。
以下の2つのライブラリのうち、どちらかを選択してライブラリ依存関係に追加して下さい。

OGNL (opens new window)を利用する場合

<dependency>
  <groupId>ognl</groupId>
  <artifactId>ognl</artifactId>
  <version>3.1.23</version>
</dependency>
1
2
3
4
5

Spring Expression Language(SpEL) (opens new window)を利用する場合

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-expression</artifactId>
  <version>5.3.20</version>
</dependency>
1
2
3
4
5

uroboroSQLでREPLを使用する場合は追加で以下のライブラリ依存関係を追加してください。

<dependency>
  <groupId>org.jline</groupId>
  <artifactId>jline</artifactId>
  <version>3.11.0</version>
</dependency>
<dependency>
  <groupId>org.fusesource.jansi</groupId>
  <artifactId>jansi</artifactId>
  <version>1.18</version>
</dependency>
1
2
3
4
5
6
7
8
9
10

Gradleプロジェクトの場合は、build.gradleのdependencies内に以下のライブラリ依存関係を追加してください。

compile group: 'jp.co.future', name: 'uroborosql', version: '0.25.0'

// 式言語ライブラリとしてOGNLを使用する場合
compile group: 'ognl', name: 'ognl', version: '3.1.23'
// 式言語ライブラリとしてSpring Expression Language(SpEL)を使用する場合
compile group: 'org.springframework', name: 'spring-expression', version: '5.3.20'

// REPLを使用する場合
compile group: 'org.jline', name: 'jline', version: '3.11.0'
compile group: 'org.fusesource.jansi', name: 'jansi', version: '1.18'
1
2
3
4
5
6
7
8
9
10

TIP

uroboroSQLを利用するためには、Java8以上の環境が必要です。

# 事前準備

事前準備として、

をインストールしてください。

# サンプルプロジェクトの実行

uroboroSQLのサンプルアプリケーションであるuroborosql-sample (opens new window)を使ってuroboroSQLを動かしてみましょう。

まず始めにuroborosql-sample (opens new window)から最新のソースコードを取得します。

git clone https://github.com/future-architect/uroborosql-sample.git
1

取得できたらcloneしたフォルダに移動します。

cd uroborosql-sample
1

まずはサンプルアプリケーションを実行してみましょう。 サンプルアプリケーションは以下の起動コマンドで実行します。

mvn -PrunMain
1

これでサンプルアプリケーションが実行されます。
(初回実行時は必要なライブラリをダウンロードするため時間がかかります)
アプリケーションの実行ログが出力され、Mavenが正常終了すれば成功です。 色々ログが流れますが、この中で

  • DB接続
  • テーブル作成と初期データの挿入
  • SQLによる検索
  • トランザクション
  • SQLによる挿入、更新、削除
  • バッチ更新

といった一連の処理が実行されています。

# サンプルプロジェクトの構成

ではサンプルアプリケーションの構成を見ていきましょう。

uroborosql-sample
├─REPL
│      repl.properties
│      
└─src
   └─main
       ├─java
       │  └─jp
       │      └─co
       │          └─future
       │              └─uroborosql
       │                  └─sample
       │                      │  AbstractApiSample.java
       │                      │  Main.java
       │                      │  EntityApiSample.java
       │                      │  SqlFileApiSample.java
       │                      │  
       │                      ├─entity
       │                      │      Department.java
       │                      │      Employee.java
       │                      │      DeptEmp.java
       │                      │      
       │                      └─type
       │                              Gender.java
       │                              
       └─resources
           │  logback.xml
           │  
           ├─data
           │      department.tsv
           │      dept_emp.tsv
           │      employee.tsv
           │      
           └─sql
               ├─ddl
               │      create_tables.sql
               │      
               ├─setup
               │       insert_data.sql
               │      
               ├─department
               │      insert_department.sql
               │      select_department.sql
               │      
               ├─employee
               │      insert_employee.sql
               │      select_employee.sql
               │      update_employee.sql
               │      
               └─relation
                      insert_dept_emp.sql
                      select_dept_emp.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

主要なファイルの説明です

ファイル 説明
Main.java (opens new window) uroborosql-sampleのメインプログラムです。ここから各サンプルコードの呼び出しを行っています。
SqlFileApiSample.java (opens new window) / EntityApiSample.java (opens new window) 提供されているAPIの種類毎のサンプルコードです。
Department.java (opens new window) / Employee.java (opens new window) / DeptEmp.java (opens new window) テーブル構造を表すエンティティクラスです。サンプルコードの中で使用します。
Gender.java (opens new window) 性別を表すEnumクラスです。サンプルコードの中で使用します。
sqlフォルダ配下のSQL (opens new window) uroborosqlで実行するSQLファイルです。
dataフォルダ配下のTSV (opens new window) テーブルデータ作成用のTSVファイルです。Mainクラスの中でテーブルへの一括データ投入を行う際のデータとして利用します。
logback.xml (opens new window) ログ出力設定ファイルです。