苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

分布式系统框架(V1.3) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper万能框架(V2.3-含.netcore) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 7608|回复: 10

[教程] 【分布式系统框架教程】-Dao规则和配置数据库连接字符串

[复制链接]
发表于 2014-11-29 11:28:20 | 显示全部楼层 |阅读模式
本帖最后由 songwenqi 于 2014-12-8 09:12 编辑

【分布式系统框架教程】-Dao规则和配置数据库连接字符串

导读部分



1.【分布式系统框架】教程目录帖http://www.sufeinet.com/thread-10624-1-1.html

教程部分


分布式的特点在于可分布,无论是同一服务器的不同数据库还是不同服务器的不同数据库之间都可以轻松的实现数据分布,分布式最大的特点就是打破了传统的依靠数据库来实现子查询等方式来实现表与表之间的关联,而采用框架的方式,运用程序来轻松的实现这种关联,你可以这样想,如果我们同时从不同的数据库取来我们想要的数据然后在程序里再进行处理从而实现我们想要的关联效果,是不是比直接用sql语句where和子查询、内查询速度要快的多呢,而且程序里是可以处理来自不同的服务器上的不同数据库之间的表得关联,这一点传统的方式就显得力不从心了。
这里呢,需要注意一些规则,在dal层里,首先需要配置每一个表对应的数据库的不同的链接字符串。你也可以这么理解,就是配置不同服务器的不同数据库的链接字符串。
[C#] 纯文本查看 复制代码
/// <summary>
    /// 所有表的连接字符串都写在这里,方法统一修改
    /// </summary>
    public static class DbConfig
    {
        /// <summary>
        /// 默认的连接字符串
        /// </summary>
        public readonly static string DefaultConnection ="DefaultConnection";
        /// <summary>
        /// User表的连接字符串
        /// </summary>
        public static readonly string UserConnection ="UserConnection";
        /// <summary>
        /// LoginUser表的连接字符串
        /// </summary>
        public static readonly string LoginUserConnection = "LoginUserConnection";
    }
从上面的代码中我们可以看到,user表喝loginuser表都配置了各自的数据库链接字符串,这里方便管理和修改,对程序扩展很有好处。
其次,我们需要注意的就是dal层中model对应的dal中的代码规范:
1.每一个类只能查询本表的数据,不允许查询多表数据
2.不要使用子查询
3.不要使用链接表
4.每个类要有单子的数据库连接字符串
5.数据库连接字符串配置在DbConfig类中
5.所有的类要继承BaseDAL<T>基类,只允许使用这里面的方法进行查询,如果不够或者有其他需求可以修改,可以更新基类
6.不要直接使用SqlParameter,使用UtilDAL类的方法代替
7.查询语句绝对不允许使用对接字符串的方法  如果不可避免请使用string.Format格式化

发表于 2015-4-2 14:39:52 | 显示全部楼层
楼上很多错别字,试问下Dao规则是不是就是指DAL的处理方法?
 楼主| 发表于 2015-4-2 15:16:19 | 显示全部楼层
发表于 2015-4-3 09:35:57 | 显示全部楼层
回复

使用道具 举报

发表于 2015-5-9 17:38:55 | 显示全部楼层
分布式怎么解决事务的关联问题? A库中的A表数据操作失败,B库中的B表数据操作成功,这时事务是怎么关联的?
发表于 2015-5-22 19:47:51 | 显示全部楼层
错别字
从上面的代码中我们可以看到,user表loginuser表都配置了各自的数据库链接字符串,这里方便管理和修改,对程序扩展很有好处。
发表于 2015-12-13 21:37:59 | 显示全部楼层
发表于 2016-3-4 12:00:24 | 显示全部楼层
发表于 2017-12-6 17:41:38 | 显示全部楼层
发表于 2018-1-2 21:53:00 | 显示全部楼层
redcat 发表于 2015-5-22 19:47
错别字
从上面的代码中我们可以看到,user表喝loginuser表都配置了各自的数据库链接字符串,这里方便管理 ...

  看的很仔细
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1)

GMT+8, 2019-8-25 05:02

© 2017-2018

快速回复 返回顶部 返回列表