IBatis框架学习
文章平均质量分 65
gooddasenlin
这个作者很懒,什么都没留下…
展开
-
IBatisNet基础组件
DomSqlMapBuilder,其作用是根据配置文件创建SqlMap实例。可以通过这个组件从Stream, Uri, FileInfo, or XmlDocument instance 来读取sqlMap.config文件。 SqlMap是IBatisnet的核心组件,提供数据库操作的基础平台。SqlMap可通过DomSqlMapBuilder创建。 Assembly转载 2007-09-12 17:24:00 · 704 阅读 · 4 评论 -
Ibatisnet日志记录功能
1。Ibatisnet具有非常方便的日志记录功能。操作步骤如下:a。添加引用”log4net.dll“ ,和“IBatisNet.Common.Logging.Log4Net.dll”两个文件。b。web.config文件中添加一下代码。configSections> sectionGroupname="iBATIS"> section原创 2007-11-01 17:08:00 · 1201 阅读 · 0 评论 -
IBatisNet1.5 -- 映射文件--Cache Models(缓存)
Cache也是经常讨论的一个话题之一,在我们系统开发的过程中,总会存在着这样一类数据,它们更新频率很低,然而使用的频率却非常之高。为了提高系统性能,我们通常将此类数据装入缓存。Ibatisnet 也有自己的缓存系统。 MappedStatement的查询结果集可以根据cacheModel的值来确定它是否被装入缓存以及如何装入缓存。而Cache Model也是在配置文件中事先定义好的。转载 2007-11-08 15:32:00 · 628 阅读 · 0 评论 -
iBATIS In Action:什么是iBATIS(一)
在上一章中我们详细讨论了iBATIS的哲学观,以及这个框架的来历。我们也说过,iBATIS是一个混合式的解决方案(hybrid solution),借鉴了多种操作关系数据库的方法的理念。那么iBATIS到底是什么呢?这一章就来回答这个问题。iBATIS是一种data mapper。Martin Fowler在他的《Patterns of Enterprise Application Arc转载 2007-12-31 12:49:00 · 938 阅读 · 0 评论 -
iBATIS In Action:什么是iBATIS(二)
2.5 iBATIS快速上手 iBATIS框架非常简单,它上手起来同样简单。有多简单呢?使用iBATIS只要五分钟我们就可以创建一个完整的应用程序了——当然这不是大型的ERP(Enterprise Resource Planning)解决方案,也不是大规模的电子商务网站,只是一个简单的命令行工具,它可以执行iBATIS SQL Map中的SQL语句并返回结果到控制台。下面这个例子将配置一转载 2007-12-31 12:51:00 · 897 阅读 · 0 评论 -
NPetshop Source for .NET 2.0
转载 2007-12-29 16:34:00 · 614 阅读 · 0 评论 -
iBATIS.NET Tips & Tricks(1) : 使用Nullable类型
在iBatis中,我们面对的通常会是Domain Model,而不是DataSet和DataTable。这样在处理业务逻辑时,就可以不必再关心数据持久相关的东东了。Domain Model类型的属性常常会对应数据库中表的一个字段(也可能是其它Domain类型的)。比如下面的Product类: ProductId属性对应表Product的ProductId字段,CategoryId对转载 2007-12-29 16:15:00 · 553 阅读 · 0 评论 -
关于IBatisNet的两个简单CodeSmith模板
最近使用了下IBatisNet,感受到了它的灵活和强大,但是如果手工去写配置文件和实体类,确实很麻烦。我参考CodeSmith的范例文件,做出了两个简单模板,分别生成简单的实体类和基本的SQL语句。CodeTemplates.rar文件包中包含两个模板,IBatis.cst用于生成实体类;IBatisStatements.cst用于生成SQL语句。使用的数据表的脚本在CreateTable.转载 2007-12-31 12:36:00 · 868 阅读 · 0 评论 -
关于在IBatis中返回DataSet
在一个邮件列表的讨论中,了解了如何在IBatis.Net中返回DataSet以及一些相关的内容。在这个过程中,我们还可以顺便得出获得SQL语句的方法:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public static s转载 2007-12-31 12:47:00 · 1357 阅读 · 0 评论 -
iBATIS In Action:iBATIS的安装和配置
译注:本章讲解的是iBATIS的安装和配置,原书使用的是Java版本,与.NET版本的安装、配置过程不尽相同,因此这里直接就.NET版本进行说明。主要参考的是iBATIS官方的DataMapper Guide文档,本章的配置主要针对DataMapper,DataAccess的配置将出现在第10章。 iBATIS的安装过程快速而简单。它是一个类库,而不是应用程序,所以实际上并不需要安装,但要转载 2007-12-31 12:54:00 · 1292 阅读 · 0 评论 -
iBATIS In Action:使用映射语句(二)
4.3 映射参数(Mapping Parameters) 对于大多数SQL语句来说,它们有用是因为我们可以在运行时向其传入参数。 有两种方式可以将参数(parameter)映射到语句中:内联(inline)参数和外部(external)参数。使用内联参数,配置一般较为简单,iBATIS会根据您的配置进行“揣测”,以获取其它细节信息。而使用外部参数时,配置一般更为显式的(具体)——因为您转载 2007-12-31 13:12:00 · 1157 阅读 · 0 评论 -
iBATIS In Action:执行非查询语句(二)
5.3 更新和删除数据 至此,我们已经学习了如何向数据库插入数据以及获取相应记录的键值,再来看看如何更新和删除数据。Insert方法返回的是object类型的值,而Update和Delete方法则返回int类型的值,该值指示了更新或删除语句所影响的记录数。iBATIS框架允许使用单条语句操作一条或多条记录。这是它与大多数ORM工具不同的地方之一,后者一般只能修改单条记录。5转载 2007-12-31 13:20:00 · 906 阅读 · 1 评论 -
iBATIS In Action:使用高级查询技术(一)
除了前面两章中我们接触到的简单的数据库操作,iBATIS也可以完成更为复杂的任务。在本章中,我们会了解新的技术,减少我们的编码量;以及改善性能、降低资源消耗(footprint)的几种方法。6.1 使用iBATIS操作XML 译者注:iBATIS的Java版本可以操作基于XML的数据。但意义并不是很大,在以后的版本中该特性可能会被移除。iBATIS.NET则未提供该功能。6.2 使转载 2007-12-31 13:23:00 · 850 阅读 · 0 评论 -
iBATIS In Action:使用映射语句(一)
在前面的章节中,我们了解了iBATIS的sqlMap.config文件的配置,还给出了一个映射语句文件的示例。现在您应该具备了一定基础,可以进一步完善我们的数据访问层了。本章和下一章(执行非查询语句)将详细讨论在Data Map文件中创建和使用映射语句的相关内容。在本章中,我们将首先浏览映射语句的大体内容以及它们的前提知识。然后我们将解释如何使用映射语句从数据库中获取类型化的对象(type转载 2007-12-31 12:57:00 · 1091 阅读 · 0 评论 -
iBATIS In Action:执行非查询语句(一)
对数据库执行查询无疑很重要,但多数程序同时也需要将数据写入数据库。在本章中,我们将探究使用iBATIS操作数据库的几种方式。本章的内容以第4章介绍的概念为基础,因此,如果您刚开始接触iBATiS,还没读过第4章,可以先去浏览一下,因为这一章中的关于参数映射的绝大部分内容同样适用于本章的非查询语句。 5.1 更新数据的基石 在第4章中,您已经学习了所有的语句类型和基本查询相关的部分AP转载 2007-12-31 13:14:00 · 797 阅读 · 0 评论 -
iBATIS.NET Tips & Tricks(2) : 将image列设置为null值时遇到的Operand type clash异常。
有时我们需要将图片存储在数据库中,此时可将列的类型设置为image。在对该列进行更新(Insert, Update)时,如果要设置的值为null,可能会有问题,考虑这条语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->转载 2007-12-31 12:59:00 · 1050 阅读 · 0 评论 -
学习 ibatisnet + castle 笔记
最近想学习 ibatisnet + castle ,并想在项目中加以应用,看了网上许多资料,本以为瞒简单的,谁想自己动手时还是费了不少功夫的 :) ,先将自己的学习心得和自己建的项目贴出来,供大家分享和研究,我也是初学,写的有不对的地方还望大家多多指教哈. 1. 下载castle 和 ibatisnet 的 dll文件, 注意:目前为止,castle版本最高支持 iba转载 2008-06-27 19:27:00 · 792 阅读 · 0 评论 -
关于ibatis中like用法的补充
网上搜了一下ibatis的关于like的使用,相信看到这篇文章的XDJM也应该知道如何解决了 ,我在这里就不重复了,只想补充说明一下: 撇开 %$xxx$% 不讲。网上的解决方法如下: SELECT * FROM user WHERE username like % || #username# || %转载 2009-04-07 16:33:00 · 1147 阅读 · 0 评论 -
.Net中结合iBatisNet查询的DropDownList数据绑定
其实标题中写iBatisNet查询有点特殊化的意味。其实DropDwonList控件可以接受很多种类的结果集作为他的数据源。比如Set、HashMap、IList。这里我是采用了iBatisNet中常用的IList结果集作为数据源的。 private void Page_Load(object sender, System.EventArgs e) {转载 2007-11-01 15:19:00 · 673 阅读 · 0 评论 -
IbatisNet动态SQL
IbatisNet动态SQL select * from employee //动态SQL语句 emp_id = #value#转载 2007-09-27 17:47:00 · 708 阅读 · 0 评论 -
IBatisNet -- 保护你的配置文件及映射文件信息
通常情况下我们在使用IBatisNet的时候,配置文件和映射文件都是暴露在外的,如果能进入到服务器,那么你的程序的操作数据库的SQL语句,数据库连接字符串等信息都将很轻松的被看到,这样是很危险的。然而IBatisnet自身也没有提供配置文件直接加密的方法,但我们可以用变通的方式来尽可能的保护这些文件中的信息。IBatisnet的映射文件等可以指定为内嵌的资源,利用这个我们可以把一些敏感信息写到另转载 2007-09-26 17:33:00 · 1201 阅读 · 1 评论 -
IBatis开发心得(一)
最近这段时间一直在用IBatis来进行开发。现在把这段时间的一些开发心得写出来,跟大家一起分享。首先,IBatis可以说转变了我以前的一些思想。我们以前开发项目的时候,总是先建立好数据库,分析清楚表与表之间的关系,才开始根据这些表进行实际的开发。实际上并没有完全把面向对象的优势展现出来。现在的使用IBatis。顺序可以是这样,首先项目经理会分析整个项目,可以分成为几个对象,每个对象具原创 2007-09-12 17:13:00 · 643 阅读 · 0 评论 -
c#中Hashtable用法简述
1.使用hashtable前.需要添加System.Collections的引用using System.Collections; 2.添加元素Hashtable ht =new Hashtable();ht.Add(key,value);// key,value可以是任何类型如果key有重复会掷出运行时异常,你可以这样处理if(ht.Contains(key)==fals转载 2007-09-19 09:28:00 · 1204 阅读 · 0 评论 -
IbatisNet使用印象
前段时间,在一个业务组件中使用了IbatisNet(Ibatis for net),作为一个轻量级的ORM框架,感觉还不错,在代码上只需要指定一下id,然后在xml中定义就好了,虽然还是写SQL,但是觉得结构好了不少。 ibatisnet包括几个dll: log4net.dll IBatisNet.DataMapper.dll IBatisNet.DataAccess.dll IBati转载 2007-09-19 09:30:00 · 614 阅读 · 0 评论 -
IBatis.Net学习笔记一--开篇
Java和.NET都做过一段时间了。以前做Java时用过Hibernet、IBatis等框架,后来接触.NET后也看过Hibernet.Net、Spring.NET等,但是一直没有深入的去看,也就是没有达到能做项目的程度。最近的一些小项目都是使用的自己写的小的内部框架,通过网上调查,发现IBastis.Net不错,不少人在使用,想抽点时间好好看看,有可能的话在以后的项目中用用。毕竟是成熟的框架,肯转载 2007-09-19 09:31:00 · 604 阅读 · 0 评论 -
IBatis.Net学习笔记三--两种常用的DAO
在IBatis中我们可以灵活的选择DAO类型,也就是可以在底层选用不同的数据库操作方式。有常规方式、配置文件的方式、Hibernet的方式等:1、常规方式和我们之前的ADO.NET开发较为类似,都是将sql语句写在cs代码中进行调用:首先通过配置文件初始化: DomDaoManagerBuilder builder = new DomDaoManagerBuilder()转载 2007-09-19 09:35:00 · 1171 阅读 · 1 评论 -
IBatis.Net学习笔记四--数据库的缓存模式
在IBatis中提供了数据库缓存的模式,可以提高访问效率。对于一些不常更新的表可以直接利用IBatis的缓存方式。要使用IBatis的数据库缓存,只要利用配置文件就可以了,实现起来比较简单: select id="GetCachedAccountsViaResultMap" resultMap="account-result"转载 2007-09-19 09:36:00 · 652 阅读 · 0 评论 -
IBatis.Net学习笔记五--常用的查询方式
在项目开发过程中,查询占了很大的一个比重,一个框架的好坏也很多程度上取决于查询的灵活性和效率。在IBatis.Net中提供了方便的数据库查询方式。在Dao代码部分主要有两种方式:1、查询结果为一个对象: ISqlMapper sqlMap = sqlMapDaoSession.SqlMap; return (Account) sqlM转载 2007-09-19 09:38:00 · 781 阅读 · 0 评论 -
IBatis.Net学习笔记六--再谈查询
在IBatis.Net学习笔记五--常用的查询方式 中我提到了一些IBatis.Net中的查询,特别是配置文件的写法。后来通过大家的讨论,特别是Anders Cui 的提醒,又发现了其他的多表查询的方式。在上一篇文章中我提到了三种方式,都是各有利弊:第一种方式当数据关联很多的情况下,实体类会很复杂;第二种方式比较灵活,但是不太符合OO的思想(不过,可以适当使用);第三种方式最主要的问题就是性能不太转载 2007-09-19 09:40:00 · 682 阅读 · 0 评论 -
IBatis.Net学习笔记七--日志处理
IBatis.Net中提供了方便的日志处理,可以输出sql语句等调试信息。常用的有两种:1、输出到控制台: configSections> sectionGroup name="iBATIS"> section name="logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNe转载 2007-09-19 09:41:00 · 985 阅读 · 0 评论 -
IBatis.Net学习笔记八--把字段映射成一个自定义对象
在IBatis.Net中,查询后的结果会自动将每一个字段映射成Domain中的一个属性值,这个映射的过程是通过TypeHandlerFactory类进行的,在程序初始化时注册了一些系统类和类型转换类之间的关系: handler = new NullableBooleanTypeHandler(); this.Register(typeof(bool?转载 2007-09-19 09:44:00 · 1118 阅读 · 0 评论 -
IBatis.Net学习笔记十--数据库连接处理
在IBatis.Net中,很多操作都被隐藏起来了,比如对数据库的连接和事务处理,都在框架中处理了。那么框架中具体是怎么处理的呢?有没有值得借鉴的地方?我们能不能跳过框架自己处理呢?首先我们看一下在IBatis.Net中的一个常规的数据库查询操作:AccountBusiness的调用代码: //取得静态的DaoManager IDaoManager d转载 2007-09-19 09:47:00 · 729 阅读 · 0 评论 -
IBatis.Net学习笔记二--下载、编译、运行NPetShop
下载地址:http://ibatis.apache.org/dotnetdownloads.cgi有最新版的IBastis.Net的源代码等,还有NPetShop的例子(例子比较老)将NPetShop的例子下载好之后,由于原来是基于VS2003的版本,在本地用VS2005打开后编译、运行时有一些问题,主要问题和解决方法如下:1、转换成VS2005的版本 a、直接打开NPetshop.sln文件转载 2007-09-19 09:33:00 · 705 阅读 · 0 评论 -
Ibatis.Net和Ibatis使用注意点及异同点(不断更新)
1、Ibatis 当使用queryForObject查询时,如果查询结果有多条记录会抱错,只能用queryForList,Ibatis.net就没问题,当是多条记录时只返回第一条记录。2、当查询条件中有日期类型时,如果直接用 = ,在日期为null时查询不到记录,最好使用以下方式: WORKING_DATE is null and WORKING_DATE = #workingDate转载 2007-09-19 09:45:00 · 720 阅读 · 0 评论 -
IBatis.Net学习笔记九--动态选择Dao的设计分析
在IBatis.Net中可以通过配置文件动态选择数据库、动态选择Dao对象。Dao对象也就是操作数据库的类,通过配置文件我们可以选择DataMapper的方式、Ado的方式、NHibernet的方式以前其他第三方的方式来操作数据库。有利于系统的灵活性和可扩展性。通过分析动态选择Dao的设计可以加深对IBatis.Net的理解,更好的使用它,同时也可以借鉴它的好的设计模式,应用到我们的程序开发中去。转载 2007-09-19 09:46:00 · 646 阅读 · 0 评论 -
IBatisNet系列-执行存储过程
映射xml文件书写如下xml version="1.0" encoding="utf-8" ?>sqlMap namespace="Member" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SqlMap.xsd"> resultMaps> resu转载 2007-09-26 17:28:00 · 1080 阅读 · 1 评论 -
ibatisnet使用心得
Posted on 2007-09-27 04:46:39 in asp.net 最近在一个项目中使用了ibatisnet,开始时还真有些不太习惯这种把SQL分离出来的方式,上手后一切都变的方便了许多,尤其喜欢它的动态SQL功能(dynamic sql),我相信如果没有动态SQL功能,ibatisnet的魅力将大打折扣。下面是我在使用ibatisnet是遇到的一些问题转载 2007-09-27 17:57:00 · 1040 阅读 · 0 评论 -
IBatisNet(续)---使用心得
8、extends 继承的属性也非常的有用,有很多SQL的操作的主题都一样,只是,Where子句不同,或Order By的内容不同等等,我们都可以将主体独立出来,作为BASE,然后写不同的条件或排序规则来继承它。如下: select id="SelectEmployees" parameterClass="int" resultMap="SelectResult">转载 2007-09-26 11:33:00 · 671 阅读 · 0 评论 -
Ibatis 半自动ORM框架的应用详解
<br />iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。<br /> <br />一站式iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的JPetStore实例。 相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,ibatis 是一种“半自动化原创 2010-10-19 11:20:00 · 1206 阅读 · 0 评论