読者です 読者をやめる 読者になる 読者になる

DBFlute.NETを触るメモ(8) WinFormプロジェクトとQuillの設定

dbflute

それでは、生成されたDbflute.NETを使う準備をしていきます。

Windowsフォーム プロジェクトの追加

まず、新しいプロジェクトをソリューションに追加します。ここでは、Windowsフォームのプロジェクト(DbFluteSampleWin)を追加します。

DBFlute.NETはQuillに依存しているので、参照設定で、「Seasar」「Seasar.Quill」「log4net」を追加します。また、DbFluteSampleLibをプロジェクト参照として追加します。

Quillの設定

DBFluteでは、データベースを操作する「ビヘイビア」クラスの生成にDIコンテナ(.NET版ではQuill)を使用します。そのため、まずQuillを使うように設定します。

詳細はQuillで簡単DI+AOP - S2Container.NETに書いていますが、手順としては、

  1. App.Configを設定
  2. Program.csの編集
  3. Quillのコントロールをフォームに張り付け

という流れになります。

 

App.configの設定

App.config(アプリケーション構成ファイル)を作ります。そして、次のような設定を行います。接続文字列は適宜変更してください。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    <section name="quill" type="Seasar.Quill.Xml.QuillSectionHandler, Seasar.Quill"/>
  </configSections>

  <!--接続先の設定-->
  <quill>
    <dataSources>
      <dataSource name="ds">
        <provider>SqlServer</provider>
        <connectionString>"Server=localhost\SQL2008;Database=DbFluteSample;Integrated Security=true"</connectionString>
        <class>Seasar.Extension.Tx.Impl.TxDataSource</class>
      </dataSource>
    </dataSources>
  </quill>

  <!--ログ出力の設定-->
  <log4net>
    <appender name="DebugConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-5level (%C{1}#%M():%L) - %m%n"/>
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="DebugConsoleAppender"/>
    </root>
  </log4net>

</configuration>


Program.csの編集

ログ出力するためのコードを入れます。AssemblyInfo.csを使う方法もありますが、こちらのほうが確実なので、今回はアプリの起動時にlog4netの設定を行います。赤字の部分を追加します。

static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    FileInfo info = new System.IO.FileInfo(
        log4net.Util.SystemInfo.AssemblyShortName(
        System.Reflection.Assembly.GetExecutingAssembly())
        + ".exe.config"); // アセンブリがdllの場合は".dll.config"

    log4net.Config.XmlConfigurator.Configure(
       log4net.LogManager.GetRepository(), info);

    Application.Run(new Form1());
}

 

Quillのコントロールをフォームに張り付け

QuillでDIを行うために、ツールボックスを右クリックし、「アイテムの選択」をクリックし「ツールボックスアイテムの選択」ウィンドウからSeasar.Quill.dllを選択します。

そうするとツールボックスに「QuillControl」が現れるので、フォームにドラッグします。合わせてWindowsフォームにボタンやテキストボタンを追加します。