上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: 在一个邮件列表的讨论中,了解了如何在IBatis.Net中返回DataSet以及一些相关的内容。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->publicstaticDataSetQueryForDataSet(stringstatementName,objectparamObject){DataSetds=newDataSet();ISqlMappermapper=GetMapper();IMappedStatementstatement 阅读全文
posted @ 2011-04-08 15:44 永不放弃-Jack wu 阅读(528) 评论(1) 推荐(0) 编辑
摘要: 最近有人问我怎么获取存储过程的output的参数值,由于我最近没有用Ibatis.net,所以就从文档中找到的param的xml,也就没有在意,但后来有人说调不通,今天早上又收到一份留言,所以我早上作了测试!也出现获取不到数据的问题,但最后还是解决了!我的测试环境是sqlserver2005/vs2005/ibatis.net2.0如下:procedure:createprocsp_output(@testParamintoutput)asbeginset@testParam=10endgoxml:<parameterMaps><parameterMapid="se 阅读全文
posted @ 2011-04-06 19:49 永不放弃-Jack wu 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: 其实调用方式比较简单,主要也就是两种类型的存储过程:1、更新类型的存储过程2、查询类型的存储过程下面就来看看具体的调用方式:1、更新类型的存储过程sp_InsertAccount:CREATEPROCEDURE[dbo].[sp_InsertAccount]--Addtheparametersforthestoredprocedurehere@Account_IDint,@Account_FirstNamevarchar(32),@Account_LastNamevarchar(32)ASBEGINinsertintoaccounts(account_id,account_firstname, 阅读全文
posted @ 2011-04-06 19:42 永不放弃-Jack wu 阅读(771) 评论(0) 推荐(0) 编辑
摘要: Castle是另外一个框架,包含了AOP、IOC、ORM等多个方面,其中的Castle.DynamicProxy可以实现动态代理的功能,这个也是很多框架的基础。在IBatis.Net中就是使用了Castle.DynamicProxy来实现数据库连接等动态操作的。同时在NHibernet等其他框架中也使用到了这个技术。下面我通过一个简单例子来看一下如何在我们的代码中调用Castle.DynamicProxy:一般情况下要有三个类:1、接口类:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceGSpring. 阅读全文
posted @ 2011-04-06 19:40 永不放弃-Jack wu 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 在IBatis.Net中可以通过配置文件动态选择数据库、动态选择Dao对象。Dao对象也就是操作数据库的类,通过配置文件我们可以选择DataMapper的方式、Ado的方式、NHibernet的方式以前其他第三方的方式来操作数据库。有利于系统的灵活性和可扩展性。通过分析动态选择Dao的设计可以加深对IBatis.Net的理解,更好的使用它,同时也可以借鉴它的好的设计模式,应用到我们的程序开发中去。源代码是最好的分析方式,下面是一些重点代码和说明:前提:需要在dao.config中配置:<daoFactory><daointerface="GSpring.Dao.In 阅读全文
posted @ 2011-04-06 19:36 永不放弃-Jack wu 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中我提到了三种方式,都是各有利弊:第一种方式当数据关联很多的情况下,实体类会很复杂;第二种方式比较灵活,但是不太符合OO的思想(不过,可以适当使用);第三种方式最主要的问题就是性能不太理想,配置比较麻烦。下面是第四种多表查询的方式,相对第二种多了一点配置,但是其他方面都很好(当然可能还有其他更好地解决方法,希望能多提宝贵意见-_-)例子还是一样:两张表Account和Degree,使用Account_ID关联,需要查出两张表的所有纪录首先:修改实体类,增加以下属性:privateDegree_degree;publicDegreeDegree{get{return_degree;} 阅读全文
posted @ 2011-04-06 19:34 永不放弃-Jack wu 阅读(544) 评论(1) 推荐(0) 编辑
摘要: 在项目开发过程中,查询占了很大的一个比重,一个框架的好坏也很多程度上取决于查询的灵活性和效率。在IBatis.Net中提供了方便的数据库查询方式。在Dao代码部分主要有两种方式:1、查询结果为一个对象:ISqlMappersqlMap=sqlMapDaoSession.SqlMap;return(Account)sqlMap.QueryForObject("GetAccountViaColumnName",accountID);2、查询结果为一个列表:ISqlMappersqlMap=sqlMapDaoSession.SqlMap;return(ArrayList)sqlM 阅读全文
posted @ 2011-04-06 19:33 永不放弃-Jack wu 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 在IBatis中提供了数据库缓存的模式,可以提高访问效率。对于一些不常更新的表可以直接利用IBatis的缓存方式。要使用IBatis的数据库缓存,只要利用配置文件就可以了,实现起来比较简单:<selectid="GetCachedAccountsViaResultMap"resultMap="account-result"cacheModel="account-cache">select*fromAccountsorderbyAccount_ID</select>最主要的就是cacheModel="a 阅读全文
posted @ 2011-04-06 19:32 永不放弃-Jack wu 阅读(544) 评论(2) 推荐(0) 编辑
摘要: 在IBatis中我们可以灵活的选择DAO类型,也就是可以在底层选用不同的数据库操作方式。有常规方式、配置文件的方式、Hibernet的方式等:1、常规方式和我们之前的ADO.NET开发较为类似,都是将sql语句写在cs代码中进行调用:首先通过配置文件初始化:DomDaoManagerBuilderbuilder=newDomDaoManagerBuilder();builder.Configure("dao"+"_"+ConfigurationManager.AppSettings["database"]+"_"+ 阅读全文
posted @ 2011-04-06 18:19 永不放弃-Jack wu 阅读(965) 评论(0) 推荐(0) 编辑
摘要: 最近这段时间一直在用IBatis来进行开发。现在把这段时间的一些开发心得写出来,跟大家一起分享。首先,IBatis可以说转变了我以前的一些思想。我们以前开发项目的时候,总是先建立好数据库,分析清楚表与表之间的关系,才开始根据这些表进行实际的开发。实际上并没有完全把面向对象的优势展现出来。现在的使用IBatis。顺序可以是这样,首先项目经理会分析整个项目,可以分成为几个对象,每个对象具有什么属性,什么方法。同时会用visio画出UML图来。这样可以说把面向对象的优势完全体现出来了。 然后程序员会根据UML图来操作对象,实现每个对象的属性和方法。这样就可以完全脱离数据库,去考虑程序的问题。这种开发 阅读全文
posted @ 2011-04-06 18:01 永不放弃-Jack wu 阅读(601) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页