http://code.google.com/p/mybatisnet/downloads/detail?name=Doc-DataMapper-1.6.2.zip&can=3&q=datamapper+docs
↑このマニュアルの73~75ページ
public class Mapper
{
private static volatile ISqlMapper _mapper = null;
protected static void Configure(Object obj)
{
_mapper = null;
}
protected static void InitMapper()
{
ConfigureHandler handler = new ConfigureHandler(Configure);
DomSqlMapBuilder builder = new DomSqlMapBuilder();
_mapper = builder.ConfigureAndWatch("SqlMap.configのパス", handler);
}
public static ISqlMapper Instance()
{
if (_mapper == null)
{
lock (typeof(SqlMapper))
{
if (_mapper == null)
{
InitMapper();
}
}
}
return _mapper;
}
public static ISqlMapper Get()
{
return Instance();
}
}
C#4.0 (Visual Studio 2010)iBatis.DataMapper 1.6.2
builder.ConfigureAndWatch()というメソッドが、SqlMap.Configの変更を監視し、
変更が無ければ前回作成したインスタンスを再利用するようだ。
なるほど、こっちのやり方のほうが安心。
上記サンプルクラスを使えば、Mapper.Instance()というように、
従来通りMapperにアクセスできるという寸法だね。
やっぱり面倒臭がらずにマニュアルは読むべきだな…。
0 件のコメント:
コメントを投稿