Ibatis学习2 ---配置文件学习

1、Ibatis.Net 主要用到三个配置SqlMap.config Providers.config  XXXX.xml 

SqlMap.config  主要用于配置数据库连接、缓存控制类等信息。

providers.config   主要用于指定数据库

xxxxx.xml   主要用于设置映射规则

2、不指定配置文件的位置 配置文件应该放置在默认的位置

Windows应用项目或者类库项目,需要放在项目的bin/debug目录下

在Web应用程序中,需要放在应用程序根目录

在初始化数据库连接的时候 可以通过DomSqlMapBuilder 来指定具体的SqlMap文件放置的位置

首先,需要初始化一个类 var builder=new DomSqlMapBuilder();

通过DomSqlMapBuilder的Configure指定具体的SqlMap.config 放置的路径 。 虽然我们指定了读取SqlMap.config的路径 其中配置的xxx.xml 及数据库的支持文件Providers.config还是要在默认的位置来找

using System.Collections.Generic;
using IBatisNet.DataMapper;
using IBatisNet.DataMapper.Configuration;
using StudyDemo.Model;

namespace StudyDemo.Dao
{
    public class BlogContentDao
    {
        public IList<BlogContent> GetList()
        {
            ISqlMapper mapper = Mapper.Instance();
            IList<BlogContent> listBlogContent = mapper.QueryForList<BlogContent>("SelectAllBlogContenty", null);
            return listBlogContent;
        }

        public IList<BlogContent> GetBlogContents()
        {
            DomSqlMapBuilder builder = new DomSqlMapBuilder();
            ISqlMapper mapper = builder.Configure(@"../../Config/SqlMap.config");
            IList<BlogContent> listBlgContent = mapper.QueryForList<BlogContent>("SelectAllBlogContenty", null);
            return listBlgContent;
        }

        public IList<BlogContent> GetBlogContentsTest()
        {
            DomSqlMapBuilder builder = new DomSqlMapBuilder();
            ISqlMapper mapper = builder.Configure(@"../../Config/test/SqlMap.config");
            IList<BlogContent> listBlgContent = mapper.QueryForList<BlogContent>("SelectAllBlogContenty", null);
            return listBlgContent;
        }
    }
}

3、SqlMap.config配置文件中的节点学习

创建一个新的属性键值对的配置文件properties.config内容如下

<?xml version="1.0" encoding="utf-8" ?>
<settiing>
  <add  key="datasource" value="server=GSHC-LIWC8;uid=sa; pwd=111111;database=MVC5"/>
</settiing>

首先我们看一个完整的SqlMap.config文件  我们看上面的这个文件中的第一个Properties节点,可以引用外部的定义的键值对数据的内容供后面统一使用。

上面的这些键值对配置文件的引入可以通过三种方式来引入

resource :相对路径引入

url:通过绝对路径来确定文件位置

embedded: 通过嵌入资源方式来确定文件的位置

<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <properties resource="../../config/properties.config"/>
  <settings>
    <setting useStatementNamespaces="false"/>
  </settings>
  <providers  resource="../../config/providers.config"/>
  <database>
    <provider name="sqlServer2008"/>
    <dataSource name="test" connectionString="${datasource}"/>
  </database>
  <sqlMaps>
    <sqlMap  resource="../../config/BlogContent.xml"/>
  </sqlMaps>
</sqlMapConfig>
时间: 2024-11-05 19:30:25

Ibatis学习2 ---配置文件学习的相关文章

nginx配置文件学习

本文转自:http://blog.csdn.net/na_tion/article/details/17527957 nginx配置文件主要分为六个区域: main section.events section.http section.sever section.location section.upstream section. main module: 主要控制子进程的所属用户/用户组.派生子进程数.错误日志位置/级别.pid位置.子进程优先级.进程对应cpu.进程能够打开的文件描述符数目

JMeter学习-010-JMeter 配置文件实例之 - CSV Data Set Config 参数化配置

众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. 日常常见的线上监控几个简单的监控示例场景如下: 监控电商网站某个类目下的商品数量.若类目中商品的数量小于一定的数量,则认为需要认为查看商品池的商品是否正确: 监控商品的价格.当商品价格出现超出限定的波动幅度时,通知相应的商品负责人,对其进行确认,从而保证商品价格的正确无误. 监控商品在某一地域是否

一文让你看懂人工智能、机器学习、深度学习和强化学习的关系

如果说信息技术是第三次工业革命的核心,那么人工智能所代表的智能则是下一次工业革命的核心力量. 2016年,谷歌阿尔法围棋以4:1战胜围棋世界冠军.职业九段棋手李世石,不仅让深度学习为人们所知,而且掀起了人工智能的"大众热".此后,人工智能越来越热,从机器人开发.语音识别.图像识别.自然语言处理到专家系统等不断推陈出新. 同时,人工智能技术越来越多地融入到我们的生活中,出现了智能音箱.智能助理.智能机器人等. 根据应用领域的不同,人工智能研究的技术也不尽相同,目前以机器学习.计算机视觉等

【Linux学习】Makefile学习(二)

FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 40975    Accepted Submission(s): 13563 Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats g

[学习笔记]iphone学习小技巧

1. 版本控制 -- 是否响应某个方法 .查看当前系统版本. eg: [self respondsToSelector:@Selector(presentModalViewController:animated:)]//Yes:表示响应这个方法 [[UIDevice currentDevice].systemVersion floatValue] < 7.0 //判断当前系统是否小于7.0 2. 模态视图动画设置 eg: ModalViewController *modalVC = [[Moda

(转)Predictive learning vs. representation learning 预测学习 与 表示学习

Predictive learning vs. representation learning  预测学习 与 表示学习 When you take a machine learning class, there's a good chance it's divided into a unit on supervised learning and a unit on unsupervised learning. We certainly care about this distinction f

几种分类问题的区别:多类分类,多标签分类,多示例学习,多任务学习

多类分类(Multiclass Classification) 一个样本属于且只属于多个类中的一个,一个样本只能属于一个类,不同类之间是互斥的. 典型方法: One-vs-All or One-vs.-rest: 将多类问题分成N个二类分类问题,训练N个二类分类器,对第i个类来说,所有属于第i个类的样本为正(positive)样本,其他样本为负(negative)样本,每个二类分类器将属于i类的样本从其他类中分离出来. one-vs-one or All-vs-All: 训练出N(N-1)个二类

视频学习_css基础学习

块状元素 block element 容器元素  设置高宽 width height  可以容纳 文本 内脸 和其他块状 霸道  独占一行 特例:form  只容纳 块状元素 常见元素 http://www.w3cfuns.com/portal.php?mod=topic&quickforward=1&topicid=21 内联元素  inline element 非块状元素 不独占一行 只容纳文本  和内联 常见的 有a 相当与气球 内容越多越大 内联元素不能包含块状元素  气球不能装盒

学习OpenCV的学习笔记系列之-- 环境配置

要想学好OpenCV,首先当然要知道怎么配置环境了.以本人的配置环境为例,步骤如下. 第一步 下载及解压OpenCV源码 虽然很多第三方网站及一些学习论坛会提供OpenCV的源码下载,但是还是推荐到官网进行下载,这样可以避免很多麻烦!(病毒?木马?你懂得!) 官网的下载地址如下: http://opencv.org/downloads.html 在此地址的界面上可以找到最新版本的OpenCV源码.我使用的是2014-04-25更新的2.4.9版本(目前最新),根据自己的系统选择对应的源码版本.