动软多数据库链接类实例

    最近做一个项目是用动软生成的框架搭建的,但是我想大家也都清楚,动软生成的都是比较简单的表类而已,而且默认是只有一个数据库链接,通过DbHelperSQL.cs来操作链接的,但是如果涉及两个数据库交互的,我们怎么办呢?刚开始查询了好久也找不到答案,后来在动软官网也只是稍微提及而已,并没有说具体怎么使用,如下文:


如果在同一个项目中,希望同时连接多个数据库,由于DbHelperSQL是静态抽象类,不能实例化。 请使用用 DBUtility项目下 DbHelperSQLP.cs 类来实现同时连接多数据库的问题,它可以实例化多个数据库连接类。

例如:
DbHelperSQLP dbhelper1 = new DbHelperSQLP(PubConstant.GetConnectionString("ConnectionString1"));
DbHelperSQLP dbhelper2 = new DbHelperSQLP(PubConstant.GetConnectionString("ConnectionString2"));


但是具体是放在哪个位置也没有详细提及,也没说如何使用,我下面一个原始的类文件【直接修改dal层方法】:


using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using Maticsoft.DBUtility;//Please add references
namespace MaxLaw.DAL
{
	/// <summary>
	/// 数据访问类:n_Sea_ex
	/// </summary>
	public partial class n_Sea_ex
	{
		public n_Sea_ex()
		{
                }
		#region  BasicMethod

		/// <summary>
		/// 是否存在该记录
		/// </summary>
		public bool Exists(long id)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select count(1) from n_Sea_ex");
			strSql.Append(" where id=@id ");
			SqlParameter[] parameters = {
					new SqlParameter("@id", SqlDbType.BigInt,8)			};
			parameters[0].Value = id;

                        return DbHelperSQL.Exists(strSql.ToString(), parameters);
		}
                .......
		#endregion  BasicMethod
		#region  ExtensionMethod

		#endregion  ExtensionMethod
	}
}



以上省略了很多生成的代码,主要是这句话链接库提取数据的:

return DbHelperSQL.Exists(strSql.ToString(), parameters);

因此我们只要把DbHelperSQL对象改为DbHelperSQLP对象,但是这个对象是需要提供链接字符串的,于是我们要先定义一个对象,所以修改如下:

using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using Maticsoft.DBUtility;//Please add references
namespace MaxLaw.DAL
{
	/// <summary>
	/// 数据访问类:n_Sea_ex
	/// </summary>
	public partial class n_Sea_ex
	{
               DbHelperSQLP dbhelper2 = new DbHelperSQLP(PubConstant.GetConnectionString("ConnectionString2"));  //定义dbhelper2对象,
               public n_Sea_ex()
		{
                }
		#region  BasicMethod

		/// <summary>
		/// 是否存在该记录
		/// </summary>
		public bool Exists(long id)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select count(1) from n_Sea_ex");
			strSql.Append(" where id=@id ");
			SqlParameter[] parameters = {
					new SqlParameter("@id", SqlDbType.BigInt,8)			};
			parameters[0].Value = id;

                        return dbhelper2.Exists(strSql.ToString(), parameters); //通过dbhelper2这个对象返回数据...
		}
                .......
		#endregion  BasicMethod
		#region  ExtensionMethod

		#endregion  ExtensionMethod
	}
}


在当前实体类文件,添加一个数据库链接类dbhelper2,然后在吧该文件中所有的DbHelperSQL替换成dbhelper2即可。然后调用数据,正常流程走就好




2、最近发现可以直接在控制器层调用即可,不用在去修改dal方法,使得更明了更方便使用:

string sql = "inser into n_sea values(1,0,0,0,'xxx')";

DbHelperSQLP XMdb = new DbHelperSQLP(PubConstant.GetConnectionString("XMConnectionString"));    //创建数据库链接类

XMdb.ExecuteSql(sql);    //执行sql语句

天梯(tianti) Java 轻量级的 CMS 解决方案-天梯。天梯是一个用 Java 相关技术搭建的后台 CMS 解决方案,用户可以结合自身业务进行相应扩展,同时提供了针对 dao、service 等的代码生成工具。技术选型:Spring Data JPA、Hibernate、Shiro、 Spring MVC、Layer、MySQL 等。 简介: 1、天梯是一款使用Java编写的免费的轻量级CMS系统,目前提供了从后台管理到前端展现的整体解决方案。 2、用户可以不编写一句代码,就制作出一个默认风格的CMS站点。 3、前端页面自适应,支持PC和H5端,采用前后端分离的机制实现。后端支持天梯蓝和天梯红换肤功能。 4、项目技术分层明显,用户可以根据自己的业务模块进行相应地扩展,很方便二次开发。 核心框架:Spring Framework 4.2.5.RELEASE 安全框架:Apache Shiro 1.3.2 视图框架:Spring MVC 4.2.5.RELEASE 数据库连接池:Tomcat JDBC 缓存框架:Ehcache ORM框架:Spring Data JPA、hibernate 4.3.5.Final 日志管理:SLF4J 1.7.21、Log4j 编辑器:ueditor 工具类:Apache Commons、Jackson 2.8.5、POI 3.15 view层:JSP 数据库:mysql、oracle等关系型数据库 前端 dom : Jquery 分页 : jquery.pagination UI管理 : common UI集成 : uiExtend 滚动条 : jquery.nicescroll.min.js 图表 : highcharts 3D图表 :highcharts-more 轮播图 : jquery-swipe 表单提交 :jquery.form 文件上传 :jquery.uploadify 表单验证 :jquery.validator 展现树 :jquery.ztree html模版引擎 :template
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值