<div dir="ltr">S2Dao.NET$B$r;H$$;O$a$?$P$+$j$N=i?4<T$G$9!#(B<br>ML$B$NEj9F$b=i$a$F$$$?$7$^$9!#(B<br>SQLite$B$N(BDB$B%"%/%;%9$KBP$7$F(BS2Dao.NET$B$rMxMQ$7$F$_$h$&$H;W$$!"(BConsole$B%"%W%j$N%5%s%W%k$r:n@.$7$F$_$^$7$?!#(B<br>$B$7$+$7!":n@.$7$?(BDao$B%$%s%?%U%'!<%9$N%a%=%C%I8F$S=P$7$GNc30H/@8$7!"860x$,J,$+$i$:$K:$$C$F$$$^$9!#(B<br>$BD9$/$J$j$^$9$,!"4D6-$J$I$r>\:Y$K=q$-$^$9$H0J2<$N$h$&$K$J$C$F$$$^$9!#(B<br><br>
$B4D6-(B----------------------------------<br>OS$B!'(BWindows XP SP3<br>$B8@8l!'(BC#(.NET Framework3.5)<br>$B3+H/4D6-!'(BVisualStudio 2008<br>DB$B!'(BSQLite(SQLite.dll <a href="http://1.0.59.0" target="_blank">1.0.59.0</a>)<br>S2Dao.NET$B!'(B1.3.11<br>--------------------------------------<br>
<br>$B9=@.(B----------------------------------<br>$B!Z%=%j%e!<%7%g%s![(B<br>MyS2DaoSample<br> $B(1(,!Z%W%m%8%'%/%H![(BMyS2DaoSample<br> $B!!!!!!(2(,!Z;2>H![(BSeasar.dll$B!"(BSeasar.Dao.dll$B!"(BSQLite.dll<br> $B!!!!!!(2(,!Z@_Dj%U%!%$%k![(Bapp.config$B!"(Bapp.dicon,Dao.dicon,S2Dao.dicon,Ado.dicon($B$=$l$>$l!"!V>o$K%3%T!<$9$k!W$K@_Dj(B)<br>
$B!!!!!!(2(,!Z%/%i%9![(BILibraryDao.cs, Library.cs, Program.cs<br> $B!!!!!!(1(,!Z(BDB$B%U%!%$%k![(BLibrary.SQ3<br> <br>--------------------------------------<br><br>app.config----------------------------<br><configuration><br> <configSections><br>
<section name="seasar" type="Seasar.Framework.Xml.S2SectionHandler, Seasar" /><br> </configSections><br> <seasar><br> <configPath>App.dicon</configPath><br> <assemblys><br>
<assembly>Seasar.Dao</assembly><br> <assembly>System.Data.SQLite</assembly><br> </assemblys><br> </seasar><br></configuration><br>--------------------------------------<br>
<br>App.dicon-----------------------------<br><components><br> <include path="Dao.dicon"/><br></components><br>--------------------------------------<br><br>Dao.dicon-----------------------------<br>
<components namespace="Dao"><br> <include path="S2Dao.dicon"/><br> <component class="MyS2DaoSample.ILibraryDao"><br> <aspect>S2Dao.Interceptor</aspect><br>
</component><br>
</components><br>--------------------------------------<br><br>S2Dao.dicon---------------------------<br><components namespace="S2Dao"><br> <include path="Ado.dicon" /><br> <component class="Seasar.Extension.ADO.Impl.BasicDataReaderFactory" /><br>
<component class="Seasar.Extension.ADO.Impl.BasicCommandFactory" /><br> <component class="Seasar.Dao.Impl.FieldAnnotationReaderFactory" /><br> <component class="Seasar.Dao.Impl.DaoMetaDataFactoryImpl" /><br>
<component name ="Interceptor"<br> class ="Seasar.Dao.Interceptors.S2DaoInterceptor"/><br></components><br>--------------------------------------<br><br>Ado.dicon-----------------------------<br>
<components namespace="Ado"><br> <component name="SQLiteClient" class="Seasar.Extension.ADO.DataProvider"><br> <property name="ConnectionType">"System.Data.SQLite.SQLiteConnection"</property><br>
<property name="CommandType">"System.Data.SQLite.SQLiteCommand"</property><br> <property name="ParameterType">"System.Data.SQLite.SQLiteParameter"</property><br>
<property name="DataAdapterType">"System.Data.SQLite.SQLiteDataAdapter"</property><br> </component><br> <br> <component name="DataSource" class="Seasar.Extension.Tx.Impl.TxDataSource"><br>
<property name="DataProvider">SQLiteClient</property><br> <property name="ConnectionString"><br> "Data Source=Library.SQ3;New=True;Compress=False;Synchronous=Off;UTF8Encoding=False;Version=3"<br>
</property><br> </component><br> <br></components><br>--------------------------------------<br>$B$3$N$h$&$J@_Dj%U%!%$%k$r:n@.$7$^$7$?!#(B<br>$B$3$l$KBP$7$F!":n@.$7$?(BDao$B%$%s%?%U%'!<%9$N%=!<%9$O!"(B<br>ILibraryDao.cs ===========================<br>
namespace MyS2DaoSample {<br>
[Bean(typeof(Library))]<br> public interface ILibraryDao {<br> Library[] GetAllLibraries();<br> int Insert(Library library);<br> int Update(Library library);<br> int Delete(Library library);<br>
}<br>}<br>=======================================<br>$B$N$h$&$K$J$C$F$*$j!"(BEntity$B%/%i%9$O!"(B<br>Library.cs ===============================<br>namespace MyS2DaoSample{<br> [Table("lib_mgmt_list_tbl")]<br> public class Library<br>
{<br> private String _libID;<br> private String _libName;<br> private String _userName;<br> private DateTime _creationTime;<br> private DateTime _lastAccessTime;<br> private DateTime _lastWriteTime;<br>
<br> public Library() {}<br><br> public String LibID {<br> get { return _libID; }<br> set { _libID = value; }<br> }<br><br> public String LibName {<br> get { return _libName; }<br>
set { _libName = value; }<br> }<br><br> public String UserName {<br> get { return _userName; }<br> set { _userName = value; }<br> }<br><br> public DateTime CreationTime {<br>
get { return _creationTime; }<br> set { _creationTime = value; }<br> }<br><br> public DateTime LastAccessTime {<br> get { return _lastAccessTime; }<br> set { _lastAccessTime = value; }<br>
}<br><br> public DateTime LastWriteTime {<br> get { return _lastWriteTime; }<br> set { _lastWriteTime = value; }<br> }<br> }<br>}<br>=======================================<br>
$B$N$h$&$K$7$^$7$?!#$3$l$r(BMain$B4X?t$G(B<br>Program.cs ===============================<br>namespace MyS2DaoSample{<br> class Program {<br> static void Main(string[] args) {<br> try {<br> SingletonS2ContainerFactory.ConfigPath = "App.dicon";<br>
SingletonS2ContainerFactory.Init();<br> IS2Container container = SingletonS2ContainerFactory.Container;<br> ILibraryDao libraryDao = (ILibraryDao)container.GetComponent(typeof(ILibraryDao));<br>
<br> Library[] libs = libraryDao.GetAllLibraries();<br> Console.WriteLine("$B=*N;(B");<br> }<br> ($BN,(B)<br> }<br> }<br>}<br>=======================================<br>
$B$N$h$&$K$7$F!"(BGetAllLibraries$B%a%=%C%I$r8F$S$^$7$?!#(B<br>$B$3$3$G!"!V%*%V%8%'%/%H;2>H$,%*%V%8%'%/%H%$%s%9%?%s%9$K@_Dj$5$l$F$$$^$;$s!#!W(B<br>$B$H$$$&Nc30$,H/@8$7$^$9!#(BStackTrace$B$O!"(B<br>=======================================<br>$B>l=j(B Seasar.Extension.Tx.Impl.TxDataSource.GetConnection()<br>$B>l=j(B Seasar.Dao.Dbms.DbmsManager.GetDbms(IDataSource dataSource)<br>
$B>l=j(B Seasar.Dao.Impl.DaoMetaDataImpl.Initialize()<br>$B>l=j(B Seasar.Dao.Impl.DaoMetaDataFactoryImpl.CreateDaoMetaData(Type daoType)<br>$B>l=j(B Seasar.Dao.Impl.DaoMetaDataFactoryImpl.GetDaoMetaData(Type daoType)<br>$B>l=j(B Seasar.Dao.Interceptors.S2DaoInterceptor.Invoke(IMethodInvocation invocation)<br>
$B>l=j(B Seasar.Framework.Aop.Proxy.AopProxy.Invoke(IMessage msg)<br>$B>l=j(B System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)<br>$B>l=j(B MyS2DaoSample.ILibraryDao.GetAllLibraries()<br>$B>l=j(B MyS2DaoSample.Program.Main(String[] args)<br>
$B>l=j(B C:\Documents$B!D(B\Visual Studio 2008\Projects\MyS2DaoSample\MyS2DaoSample\Program.cs:$B9T(B 22<br>=======================================<br>$B$N$h$&$K$J$C$F$*$j$^$9!#(B<br>$B860x$K$D$$$F!"$465<x$$$?$@$1$J$$$G$7$g$&$+!)(B</div>