Spring对ADO.NET也提供了支持,依赖与程序集Spring.Data.dll

IDbProvider

IDbProvider定义了数据访问提供器的基础,配置如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core"/>
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core"/>
    </sectionGroup>
  </configSections>

  <spring>
    <context>
      <resource uri="config://spring/objects"></resource>
    </context>
    <objects xmlns="http://www.springframework.net" xmlns:db="http://www.springframework.net/database">
     <db:provider id="DbProvider" provider="System.Data.SqlClient" 
                  connectionString="server=.;database=KMS;uid=sa;pwd=123456"/>
      <object id="adoTemplate" type="Spring.Data.Core.AdoTemplate,Spring.Data">
        <property name="DbProvider" ref="DbProvider"></property>
      </object>
    </objects>
  </spring>
  
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

获取数据IDbProvider的方法

Spring.Context.IApplicationContext context = Spring.Context.Support.ContextRegistry.GetContext();
Spring.Data.Common.IDbProvider provider = context.GetObject("DbProvider") as IDbProvider;

AdoTemplate

AdoTemplate有两个,

一个泛型,定义为:Spring.Data.Generic.AdoTemplate

一个非泛型,定义为:Spring.Data.Core.AdoTemplate

使用如下

Spring.Context.IApplicationContext context = Spring.Context.Support.ContextRegistry.GetContext();
Spring.Data.Common.IDbProvider provider = context.GetObject("DbProvider") as IDbProvider;

Spring.Data.Core.AdoTemplate ado = new Spring.Data.Core.AdoTemplate(provider);
Spring.Data.Generic.AdoTemplate ado2 =new AdoTemplate(provider);
//Console.WriteLine(person);

配置文件中已经将adoTemplate注入,那么直接使用如下

Spring.Data.Core.AdoTemplate adoTemplate = context.GetObject("adoTemplate") as Spring.Data.Core.AdoTemplate;
string result = adoTemplate.ExecuteScalar(CommandType.Text, "select NickName from Blog_User").ToString();
Console.WriteLine(result);

相关文章:

  • 2021-10-02
  • 2022-01-05
  • 2021-06-11
  • 2021-10-07
  • 2021-12-17
猜你喜欢
  • 2021-09-04
  • 2022-12-23
  • 2021-08-09
  • 2022-12-23
  • 2022-03-06
  • 2021-08-06
  • 2021-08-28
相关资源
相似解决方案