using IBatisNet.Common.Utilities;
using IBatisNet.DataMapper;
using IBatisNet.DataMapper.Configuration;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace Dscf.Map
{
    public class BaseBatis
    {
        public static ISqlMapper SqlMap; //SqlMap  sqlMap
        private static readonly object synobj = new object();
        static BaseBatis()
        {
            if (SqlMap == null)
            {
                lock (synobj)
                {
                    if (SqlMap == null)
                    {
                        Assembly assembly = Assembly.Load("Dscf.Map");
                        Stream stream = assembly.GetManifestResourceStream("Dscf.Map.sqlmap.config"); //TestMap.sqlmap.config
                        DomSqlMapBuilder builder = new DomSqlMapBuilder();//其作用是根据配置文件创建SqlMap实例。
                        try
                        {
                            SqlMap = builder.Configure(stream);
                        }
                        catch (Exception)
                        {
                            throw;
                        }
                    }
                }
            }
        }
        //public static ISqlMapper SqlMap; //SqlMap  sqlMap
        //private static ISqlMapper _instance = null;
        ////private static Hashtable sqlMappers = new Hashtable();
        //public static ISqlMapper GetMapper()
        //{
        //    if (_instance == null)
        //    {
        //        //_instance = Mapper.Get();
        //        //_instance.SessionStore = new HybridWebThreadSessionStore(_instance.Id);
        //        ConfigureHandler handler = new ConfigureHandler(Configure);
        //        DomSqlMapBuilder builder = new DomSqlMapBuilder();
        //        _instance = builder.ConfigureAndWatch("bin\\Dscf.Map\\Config", Configure);
        //    }
        //    return _instance;
        //    //return Mapper.Get();
        //}
        //protected static void Configure(object obj)
        //{
        //    _instance = null;
        //}
    }
}

ibatis 基类生成的更多相关文章

  1. 修改tt模板让ADO.NET C# POCO Entity Generator With WCF Support 生成的实体类继承自定义基类

    折腾几天记载一下,由于项目实际需要,从edmx生成的实体类能自动继承自定义的基类,这个基类不是从edmx文件中添加的Entityobject. 利用ADO.NET C# POCO Entity Gen ...

  2. 四、spring集成ibatis进行项目中dao层基类封装

    Apache iBatis(现已迁至Google Code下发展,更名为MyBatis)是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库 ...

  3. lua中基类和“继承机制”

    基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lu ...

  4. iOS控制器之基类设计

    题记 在进入新公司后.经过这一个月的重构项目,终于把项目做到了个人相对满意的程度(还有一种不满意的叫老板的需求,提过多次意见也没用= =!).在这次重构中按照以前的思路设计出了个人觉得比较适用的一个基 ...

  5. Thinkphp源码分析系列(七)–控制器基类

    在mvc模式中,c代表的就是控制器,是是应用程序中处理用户交互的部分.通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据.控制器是沟通视图和模型的桥梁,他接受用户请求,并调用模型层去处理用户 ...

  6. Entity Framework 实体框架的形成之旅--为基础类库接口增加单元测试,对基类接口进行正确性校验(10)

    本篇介绍Entity Framework 实体框架的文章已经到了第十篇了,对实体框架的各个分层以及基类的封装管理,已经臻于完善,为了方便对基类接口的正确性校验,以及方便对以后完善或扩展接口进行回归测试 ...

  7. 不可或缺 Windows Native (22) - C++: 多重继承, 虚基类

    [源码下载] 不可或缺 Windows Native (22) - C++: 多重继承, 虚基类 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 多重继承 虚基类 示例1 ...

  8. 【转载】C++中的基类与派生类

    转自:http://www.cnblogs.com/sujz/articles/2044365.html 派生类的继承方式总结: 继承方式 说明 public 基类的public和protected的 ...

  9. phpcms V9 数据模型基类

    在学习<phpcms V9首页模板文件解析>的第七步,我们看到content_model类,文件路径:phpcms/model/content_model.class.php 从代码中,可 ...

随机推荐

  1. CentOS7安装Nginx及其相关

    一.安装所需环境 gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装. yum install gcc-c++ PCRE pcr ...

  2. HTTP服务和APACHE

    HTTP服务和APACHE 1. 跨Internet的主机间通讯 要通过Internet进行通信,至少需要一对套接字:其中一个运行在客户端,定义了一个唯一的客户进程,称之为ClientSocket,另 ...

  3. 数位dp备忘录

    hdu 4734:把限制值化为数组形式,逐位求解 hdu 4507:类似于上题,其中求平方和的方法很妙 SPOJ  BALNUM Balanced Numbers:经典数位dp,注意两点,1,不要把前 ...

  4. [bzoj4591][Shoi2015][超能粒子炮·改] (lucas定理+组合计数)

    Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加 强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威 ...

  5. Vue2.0 Props双向绑定报错简易处理办法

    在写项目的时候遇到了一个报错问题,虽然功能是正常运行,chrome的提示是:[Vue warn]: Avoid mutating a prop directly since the value wil ...

  6. idea结合git版本控制

    IntelliJ-IDEA和Git.GitHub.Gitlab的使用(五)----https://blog.csdn.net/milsevol/article/details/72792468

  7. ace & web ide & web code editor

    ace & web ide & web code editor web ide https://ace.c9.io/ https://github.com/ajaxorg/ace ht ...

  8. (12)GrabCut前景提取

    import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread('opencv-python-foregr ...

  9. 高数A(下)第九章

    第九章 空间解析几何 9.2 9.3 9.4 自测题

  10. Open Flash Chart图表的JSON格式基本属性详解

    http://blog.csdn.net/wangwenhui11/article/details/4283571 数据文件必须是JSON格式.JSON对象的基本格式: {} 把所有对象都编写在{}里 ...