使用Spring.Net框架实现多数据库

2022-04-17 07:29:50

一、建立一个空白的解决方案,名称为“SpringDotNot”

二、新建一个类库项目:IBLL

在IBLL类库里面有一个名称为IDatabaseService的接口,接口里面有两个方法:GetDataTableBySQL()和GetDbTyoe()。

代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data;namespace IBLL{    /// <summary>    /// 数据库服务接口    /// </summary>    public interface IDatabaseService    {        /// <summary>        /// 根据SQL语句查询数据        /// </summary>        /// <returns></returns>        DataTable GetDataTableBySQL();        /// <summary>        /// 获取数据库类型        /// </summary>        /// <returns></returns>        string GetDbTyoe();    }}

三、新建一个类库项目:BLLMsSql

BLLMsSql表示使用SqlServer数据库实现IBLL里面的接口,BLLMsSql要添加IBLL.dll的引用,代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using IBLL;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace BLLMsSql{    /// <summary>    /// SqlServer服务类,实现IDatabaseService接口    /// </summary>    public class SqlServerService :IDatabaseService    {        public DataTable GetDataTableBySQL()        {            string strConn = ConfigurationManager.ConnectionStrings["SqlServer"].ConnectionString;            DataTable dt = new DataTable();            using (SqlConnection conn = new SqlConnection(strConn))            {                try                {                    string str = "select * from PtInfectionCard";                    SqlCommand cmd = new SqlCommand(str, conn);                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);                    conn.Open();                    adapter.Fill(dt);               www.easck.com }                catch (Exception ex)                {                }                finally                {                    conn.Close();                }            }            return dt;        }        /// <summary>        /// 返回SqlServer数据库        /// </summary>        /// <returns></returns>        public string GetDbTyoe()        {            return "我是SQLServer数据库";        }    }}

四、新建一个类库项目:BLLOracle

BLLOracle表示使用Oracle数据库实现IBLL里面的接口,BLLOracle要添加IBLL.dll的引用,代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using IBLL;using System.Data;using System.Data.OracleClient;using System.Configuration;namespace BLLOracle{    /// <summary>    /// Oracle数据服务类,实现IDatabaseService接口    /// </summary>    public class OracleService :IDatabaseService    {        public DataTable GetDataTableBySQL()        {            string strConn = ConfigurationManager.ConnectionStrings["ORACLE"].ConnectionString;            DataTable dt = new DataTable();            using (OracleConnection conn = new OracleConnection(strConn))            {                try                {                    string str = "select * from emp";                    OracleCommand cmd = new OracleCommand(str, conn);                    OracleDataAdapter adapter = new OracleDataAdapter(cmd);                    conn.Open();                    adapter.Fill(dt);                           // 获取具体的实现类            IDatabaseService dbService = ctx.GetObject("bll") as IDatabaseService;            // 从数据库查询数据            DataTable dt = dbService.GetDataTableBySQL();            // 将查询出的数据绑定到DataGridView中            this.dgv_Demo.DataSource = dt;        }    }}

配置文件中设置的是使用OracleService实现类,所以程序运行结果:

使用Spring.Net框架实现多数据库

如果要使用SqlServer数据库,只需要修改配置文件中object节点中type的属性值即可:

<object id="bll" type="BLLMsSql.SqlServerService,BLLMsSql"/>

改成使用SqlServer数据库以后的运行结果:

使用Spring.Net框架实现多数据库

到此这篇关于Spring.Net框架实现多数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。