用IBatis.net实现数据读取
官方下载地址:http://www.mybatis.org/
潮安网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联公司2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
IBatis.net作用是把数据库查询与对象的属性间建立映射关系。但它并不是一个实体关系映射工具,仅用于帮助程序人员建立实体和SQL语句或者存储过程间的映射。因此只能叫半自动OR/M工具。
IBatis.net的配置:
一、引用几个DLL,注意在数据层引用即可。
单独使用映射的情况下,只需要引用IBatisNet.DataMapper.dll就可以了
其中IBatisNet.Common.dll和Castle.DynamicProxy.dll是必须的
COMMON是我自己的,不用管它
IBatisNet.DataAccess.dll是可选的,如果使用Data Access组件,则还需要添加对IBatisNet.DataAccess.dll的引用。
二、完成对组件的添加后,还需要添加三个XML文档
1 providers.config ----DataMapper根据这个确定是什么类型数据库(放在数据层)
2 SqlMap.xml ----数据映射文档,里面包含了SQL语句(放在数据层)
3 SqlMap.config ----DataMapper的配置文档,它详细描述了工程中SqlMap.XML和providers.config文档的位置,以及其他配置项(必须放在Web跟目录下)。
先看SqlMap.config
具体文档配置可在附件的DEMO中下载查看。
三、创建SqlMapper实例,这个是单例模式,文件名SqlMapper.CS,放在数据层中。
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IBatisNet.Common.Utilities;
using IBatisNet.DataMapper;
using IBatisNet.DataMapper.Configuration;
using IBatisNet.DataMapper.SessionStore;
namespace DAL
{
public class SqlMapper
{
private static volatile ISqlMapper _mapper = null;
protected static void Configure(object obj)
{
_mapper = null;
}
protected static void InitMapper()
{
ConfigureHandler handler = new ConfigureHandler(Configure);
DomSqlMapBuilder builder = new DomSqlMapBuilder();
_mapper = builder.ConfigureAndWatch("SqlMap.config", handler);
_mapper.SessionStore = new HybridWebThreadSessionStore(_mapper.Id);
}
public static ISqlMapper Instance()
{
if (_mapper == null)
{
lock (typeof(SqlMapper))
{
if (_mapper == null) // double-check
{
InitMapper();
}
}
}
return _mapper;
}
public static ISqlMapper Get()
{
return Instance();
}
}
}
外界调用方法:
IList list = SqlMapper.Instance().QueryForObject("UserInfo.GetCount", param);
因为是单例的,第一次调用时,DomSqlMapBuilder对象会通过查询SqlMap.config来创建一个sqlMapper实例,以后调用就直接从缓存读取了。
DomSqlMapBuilder.ConfigureAndWatch()方法负责监视配置文件的更新情况,如果配置或者映射文件有更新,SqlMapper对象会重新载入并不重启系统
整个配置已经结束,具体可参考DEMO:DEMO下载
网页题目:用IBatis.net实现数据读取
文章地址:http://pwwzsj.com/article/gjgjsp.html