Home - mikeshimura/dbflute GitHub Wiki
このWikiでは、dbflute の go versionについての情報を提供します。
DBFluteエンジンは、JAVAバージョンのものに、Go機能を追加して使用しているので、Javaのソースコードも作成され、内部で使用されます。 Javaのソースコードの生成場所は変更しても構いません。
各データベースの項目対応表は下記です。 Postgresql Mysql SQL Server
現在の機能
- 対応データベースはPostgresql,Mysql,Sqlserverです。
- テーブルの Insert,Update,Deleteをサポート
- Relation Tableの SetupSelectやRelation Table項目での絞り込みに対応。
- VersionNoによるUpdateはサポート
- CommonColumnもサポート
- 検索条件は、Likeを含めて概ね対応。(InScopeクエリ、OR Scopeクエリも対応済)
- Outside SQL(Two Way SQL)については、IF,ELSE、BEGINまで対応。FORは未サポート
- Outside SQL IF文の評価内容については、日時関数未サポート(Nullチェックのみ対応)。 関数呼び出しも未サポート
- FetchFirstによる件数指定に対応
- SelectCountに対応 なおJAVAバージョンのOutsideSQLと違い、Bhv内にFile情報を保持せず、pmb内に保持しています。このためpmb作成が必須となっています。
- SelectList()で返される ResultSetで Get(0)などとやると返されるのは、interface{}型なので、entity型に変換が必要です。
- pmbにSelectList(),Execute()関数を実装しているので、これで呼び出します。
- Transactionは、自分で作成し呼び出しパラメータに設定します。
- 実行時のReturnされるerror内容により、tx.Commit()かt.RollBack()を自分で呼び出します。
- Logは SeeLogを使用しています。 Windows環境では、LogはUTF8ではConsoleで文字化けするので、 log.ErrorConv()等 Convの付いたMethodを呼べば、文字種変換を行います。