一、引言

  已经几个月没更新了。本来上一章的预告是准备写TypeHandler的相关特性的。但是在准备的时候。SmartSql的作者重构了一下TypeHandler,使得我一下子没搞懂TypeHandler的原理,所以一直没有下手来写这一章。但最近群里(qq群:604762592)有好几个小伙伴在问多库配置的问题。就先写一下关于这个问题的东西吧。

  关于多库的场景在这里就不多概述了,想必大家都或多或少做过此类项目。我就直接进入主题,说一下关于SmartSql下单个项目中多数据库的配置和使用。

二、项目结构

  

  上图是这次项目的结构,分为Api,2个仓储项目,一个实体项目。

  在Api的项目中。原来我们只需要一个SmartSqlMapConfig。而这个项目中有3个,分别对应了3个数据库。在Maps的文件夹中分了3文件夹,也是分别对应了3个数据库。

  仓储分为两个项目是想展示一下在多库场景下仓储的多种配置方法。

三、注册SmartSql实例

  

  这是Startup中关于注册SmartSql实例的代码,分别注册了3个库的。这里需要注意以下几点:

  1. 在多实例下,每个实例都需要对其进行别名配置。方法如上图,使用UseAlias方法。

  2. 多实例意味着多个SmartSqlMapConfig,所以同样需要使用UseXmlConfig方法配置指定的配置文件。

  3. 在配置动态仓储时,除了配置指定的程序集外,还需要指定仓储使用的SmartSql实例的别名。

  4. 在通用库和用户库这里,多了一个Filter的委托,用户过滤仓储接口。

四、多实例的使用

  

  划重点:

  1.如果使用仓储,那在这里和单库的使用没有任何区别。因为在注册的地方已经配置好了。

  2. 如果使用SqlMap,就需要在获取SqlMap实例的时候,使用别名来获取了。serviceProvider.GetSmartSql("Product").SqlMapper;

  3. 其他的使用与单库没有区别

四、结语

  好了。多库的基本配置就说到这里。希望大家下载Demo来好好品味一下。这次就不做预告了。我接下来会按照交流群中提问比较多的问题来更新。

示例代码链接在这里

SmartSql使用教程(4)——多库配置与使用的更多相关文章

  1. maven私有库配置

    私有库的配置 协同开发过程中私有库可以为团队提升很大效率,之前我的私有库一直存在问题导致jar包导入异常.现在在这分享一下私有库配置的几个点,可能因为我们学校比较简陋所以配置的比较简单,欢迎大家补充 ...

  2. Xamarin Anroid开发教程之验证环境配置是否正确

    Xamarin Anroid开发教程之验证环境配置是否正确 经过前面几节的内容已经把所有的编程环境设置完成了,但是如何才能确定所有的一切都处理争取并且没有任何错误呢?这就需要使用相应的实例来验证,本节 ...

  3. Windows2003/2008/2008 R2下易语言点支持库配置就退出的问题

    问题: 请问一个问题,我的电脑上win2003系统的,安装了易语言后,一点支持库配置就会自动退出.这是为什么啊? 解决方法如下: 删除 lib下的wmp.npk,重新打开易语言就可以了.

  4. maven的安装,maven库配置和Eclipse插件的安装

    maven的安装,maven库配置和Eclipse插件的安装 1.下载并解压maven 2.配置环境变量 3.配置maven配置文件 1.下载链接 Downloading Apache Maven 2 ...

  5. CentOS 6.4 系统下的MySQL的主从库配置

    首先了解到一. 二一.(MySQL下创建用户并且赋予权限)root用户创建yong用户的SQL语句 CREATE USER 'yong'@'localhost' IDENTIFIED BY 'yong ...

  6. Docker教程:使用docker配置python开发环境

    http://blog.csdn.net/pipisorry/article/details/50808034 Docker的安装和配置 [Docker教程:docker的安装] [Docker教程: ...

  7. xpath教程 2 - lxml库

    xpath教程 2 - lxml库 这些就是XPath的语法内容,在运用到Python抓取时要先转换为xml. lxml库 lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取 HT ...

  8. Mysql主从同步在线实施步骤【适合大数据库从库配置】

    Mysql主从同步在线实施步骤[适合大数据库从库配置] MySQL的主从搭建大家有很多种方式,传统的mysqldump方式是很多人的选择之一,但比较适合在新实例中实施,对于较大的数据库则存在停机等不可 ...

  9. 微软企业库5.0 学习之路——第八步、使用Configuration Setting模块等多种方式分类管理企业库配置信息

    在介绍完企业库几个常用模块后,我今天要对企业库的配置文件进行处理,缘由是我打开web.config想进行一些配置的时候发现web.config已经变的异常的臃肿(大量的企业库配置信息充斥其中),所以决 ...

随机推荐

  1. 基于SpringBoot从零构建博客网站 - 开发设置主页标识和修改个人信息功能

    由于守望博客系统中支持由用户自己设置个人主页的URL的后半段,所以必须要用户设置该标识的功能,而且是用户注册登录之后自动弹出的页面,如果用户没有设置该标识,其它的操作是不能够操作的,同时要求主页标识只 ...

  2. 设计模式-工厂方法模式(FactoryMethod)

    工厂方法模式又称多态工厂模式.工厂方法模式是定义一个创建产品对象的接口(FruitFactory),将具体创建工作给具体的实现类(AppFactory,BananaFactory,PearFactor ...

  3. c++复杂桶排序Java版

    c++复杂桶排序Java版 题目和我的前几个排序一样 这次是Java版的 代码 + 注释 package com.vdian.qatest.supertagbiz.test.niu; /** * Cr ...

  4. Pandas Series 与 DataFrame 数据创建

    >>> import pandas as pd >>> import numpy as np >>> print(np.__version__), ...

  5. C++学习书籍推荐《Accelerated C++中文版》下载

    百度云及其他网盘下载地址:点我 媒体推荐 书评 这是一本一流的C++入门书,它采用了一种和实践相结合的方式来解决具体的问题.相比我所见过的其他C++入门书来说,本书以令人惊奇的紧凑格式覆盖了更多的关于 ...

  6. 截图编辑器 PicPick Biz v4.1.6/v5.0.3 Lite 绿色便携版

    下载地址:点我 PicPick 是由NGWIN 软件科技公司推出的一款实用的.多功能屏幕截图与图像编辑神器.软件具备屏幕截取.取色器.调色板.放大镜.标尺.量角器.坐标轴.白板等功能,支持全屏.活动窗 ...

  7. C#如何加载程序运行目录外的程序集 (转)

    ---恢复内容开始--- 尼玛,为了这个问题,纠结到差点吐出干血,赶紧记下来! 源地址:http://blog.csdn.net/dyllove98/article/details/9391325 我 ...

  8. mysql语句优化原则

    有时候发现数据量大的时候查询起来效率就比较慢了,学习一下mysql语句优化的原则,自己在正常写sql的时候还没注意到这些,先记录下来,慢慢一点一点的学,加油! 这几篇博客写的都可以: https:// ...

  9. 个人永久性免费-Excel催化剂功能第46波-区域集合函数,超乎所求所想

    在常规自定义函数的世界中,一般情况下,仅会输入一堆的参数,最终输出一个结果值,在以往Excel催化剂的自定义函数,已经大量出现输入一堆参数返回多个结果值并自动输出到多个单元格区域内.此项技术可运用的场 ...

  10. C#2.0新增功能02 泛型

    连载目录    [已更新最新开发文章,点击查看详细] C# 语言和公共语言运行时 (CLR) 的 2.0 版本中添加了泛型. 泛型将类型参数的概念引入 .NET Framework,这样就可以设计具有 ...