版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、运行中的ibatis:ibatis的安装和配置行动中的律师协会:什么是律师协会(2);注:本章介绍了iBATIS的安装和配置。原书使用的是Java版本,这与的安装和配置过程不同。NET版本。因此,本章直接解释了。NET版本。主要参考是iBATIS的官方数据映射指南文档。本章中的配置主要针对数据映射器。数据访问的配置将出现在第10章。IBATIS安装过程快速简单。它是一个类库,而不是一个应用程序,所以实际上不需要安装它,但是在应用程序中使用它还有几个步骤。如果你熟悉C#和ADO.NET,你可能需要仔细阅读这一章,为下一两章做准备。首先,我们概述了安装和配置过程,然后详细描述了该过程。要获得iBA
2、TIS,您有两个选择。您可以下载二进制分发包并将其解压缩到一个目录中。您还可以从Subversion存储库中获得源代码的副本,并手动生成它。无论采用哪种方法,最终的结果都是相同的文件集。获得iBATIS分发包后,只需将所需的dll文件添加到应用程序引用中。3.1获取iBATIS分发包3.1.1二进制分发包这是最快最简单的方法。IBATIS已经为老师准备好了,你只需要下载,解压并开始使用。注意:iBATIS的二进制分发包可以在/dotnetdownloads.cgi下载(dll文件、源代码、实例和文档可以在这里下载)。由源代码生成如果您对增强框架、修
3、复bug感兴趣,或者只是想知道自己编译得到了什么,那么您可以从Subversion存储库中获得一个副本,并从源代码中生成它。在第12章中,我们将学习更多关于扩展iBATIS框架的细节,所以这一节将会相对简单,但是这些已经足够让你开始了。注意:这里提到的Subversion(SVN)存储库是所有新的Apache项目使用的版本控制系统。Subversion是CVS的替代品。SVN的目的是提供一个环境,在这个环境中,当框架发生变化时,您不必担心会丢失源代码(因为每个开发人员都有一个副本,并且服务器上有多个副本)。如果你想了解更多关于Subversion的信息,你可以访问它的主页http:/subve
4、/.IBATIS的颠覆存储地址是:/repos/asf/ibatis/trunk/.3.2分发包的内容如果你得到源代码,你将得到一个VS解决方案和几个C#项目。源文件夹下有8个文件夹,它们构成了iBATIS.NET分发包。它们是:文件夹名称描述外部箱iBATIS项目需要依赖程序集。IBatisNet。普通此程序集包含由数据访问和数据映射程序共享的类。IBatisNet。普通日志Log4Net工厂适配器类。IBatisNet。普通测试IBatisNet。通用测试项目可以用在NUnit中。IBatisNet。数据访问数据访问对
5、象框架。IBatisNet。数据访问。扩展包含一个扩展数据访问框架的C#项目,例如对NHibernate的支持。IBatisNet。数据访问。测试数据访问框架的测试项可以在网络上使用。IBatisNet。数据映射器数据映射程序框架。iBatisNet。数据映射器。测试数据映射器的测试项目可以在NUnit中使用。您可以加载IBatisNet.2005.sln来生成所需的程序集。解决方案中有7个项目,应该可以顺利通过编译。我们需要的程序集位于 ibatisnet . data mapper bin debug下。创建的程序集是:o IBatisNet。Common.dllo IBatisNet。D
6、ataMapper.dll数据映射程序具有外部依赖关系:Castle.DynamicProxy.dll(用来创造代理人)dll在外部文件夹中。3.3依赖性(略)3.4向应用程序中添加iBATIS切换到您自己的应用程序,并打开项目以使用数据映射器。根据解决方案的组织方式,项目可能是一个窗口或网络应用程序或类库项目。这可能需要项目添加一个或两个引用:iBatisNet.DataMapper.dlliBatisNet.DataAccess.dll(可选)iBatisNet.Common.dll(隐含引用)Castle.DynamicProxy.dll(隐含引用)如果您正在使用一个映射器单例,您需要的
7、唯一引用是数据映射器程序集。IBatisNet。普通和城堡。运行时需要DynamicProxy,但是VS.NET将帮助您解决这些依赖关系。如果使用数据访问对象框架,还需要添加对数据访问的引用。如果您已经以上面提到的方式生成了IBatisNet,那么三个程序集(iBatisNet。DataMapper、IBatisNet.Common.dll、Castle.DynamicProxy.dll)都在数据映射程序项目的binDebug目录中。3.4.1添加XML文件项向程序集添加引用后,下一步是向项目中添加三种类型的XML文件(可能是Windows、Web应用程序、类库或测试项目)。这些文件是:con
8、figdata mapper在此文件中查找您选择的数据库提供程序的定义。一个包含SQL查询的映射文件。这些文件中的一个或多个将在您的项目中使用自定义名称进行交换,如帐户. xml或产品. xml指定SqlMap.xml和providers.config文件位置的Config-datamapper配置文件。还定义了其他数据映射器配置选项,如缓存。项目中每个数据源的配置文件。不难理解,SqlMap.config和providers.config文件应该放在数据映射器运行时可以找到的位置。这两个文件的默认位置取决于项目类型,如下表所示:Windows应用程序、类库、测试项目(使用NUnit或其他等效
9、工具)二进制文件夹(如/bin/debug),目录。dll和app.config位于Web应用程序程序根目录中的Web.config3.4.2融入VS.NET每个配置文件(SqlMap.config、SqlMap文件、providers.config)都与一个XML模式文件相关联。这种关联的优势在于,可以使用智能感知/内容等编辑器功能来验证(在运行时完成)和自动完成文档。为了在VS.NET的XML编辑器中的模式和我们的配置文件之间建立关联,应该将模式文件(SqlMap.xsd、SqlMapConfig.xsd、providers.xsd)添加到VS.NET项目或VS.NET安装目录中。显然,第
10、二种选择将让我们一劳永逸。VS.NET安装目录可能是:C: 程序文件 Microsoft Visual Studio 8 Xml 架构(VS.NET 2005)或者C: 程序文件Microsoft Visual Studio。 NET 2003 common 7 Packages schemas XML(VS.NET 2003)或者C: 程序文件Microsoft Visual Studio。 NET common 7 Packages schemas XML(VS.NET 2002).在smart注册Schema文件后,我们可以在smart享受智能感知和配置文档验证。3.5 iBATIS和A
11、DO。网对ADO.NET的深入解释超出了本书的范围,但我们将从更高的层面对其进行分析,为本书的其余部分提供基础。微软的ADO.NET API是中数据库连接的标准。NET。ADO.NET已经定义了一套接口。数据库提供者需要为他们的数据库产品提供一个接口提供者。否则,开发人员无法使用它们。人们认为关闭提供者是一种应该避免的反模式行为。3.5.1发布ADO.NET资源使用ADO.NET时,很容易获得资源,然后忘记正确释放资源。垃圾收集过程可能最终会释放它们,但这需要时间,也没有保证。如果不释放这些资源,应用程序最终可能会耗尽资源并崩溃。IBATIS框架帮助开发人员管理这些资源,从而减轻开发人员的负担
12、。开发人员不再需要担心资源的分配和释放,而是关注他们需要的数据。然而,如果开发者愿意,他们仍然可以手动管理这些资源。3.5.2 SQL注入另一个常见的问题(在网络应用程序中更常见)是SQL注入,这使得应用程序不能以开发人员期望的方式执行SQL。如果程序使用字符串连接来构造SQL语句,但没有正确过滤参数,恶意用户传入的参数将改变查询的内容。考虑一个类似于select * fromproductwere id=5的示例。如果此处的5直接来自用户的输入,然后与id=的产品中的select *拼接,用户可以输入5或1=1,从而更改该SQL语句的真正含义。如果用户输入5;从订单中删除,更糟糕的是,SQL
13、语句会顺从地查询一条记录,然后清空订单。灵活性也带来了风险,所以如果iBATIS使用不当,我们的程序仍然可能受到SQL注入的攻击。然而,iBATIS通过使用参数增加了程序被这种攻击攻击的难度。只有使用显式SQL字符串替换语法的语句才有风险。考虑以下示例,该示例接受动态表名和列名:从$ TABLE _ NAME $ WHERE $ COLUMN _ NAME $=# VALUE #中选择*这种语句在某些情况下是灵活和有用的,但是它容易受到SQL注入的攻击。因此,应该小心使用。这不是iBATIS的问题。无论如何执行,这样的语句总是会面临这个问题。因此,对于那些动态构造的语句,如果它们受到用户输入的影响,就必须验证用户输入。降低复杂性ADO。NET是一个非常强大的低级API。为了帮助您更好地理解iBATIS的优势,让我们做一个比较。(关于工作原理的例子,请参考第2.2节)3.6 ibatis的配置(续)在第2章中,我们简要地看了一下iBATIS的配置(这个例子非常简单,如果您没有阅读该部分,您不必担心)。在本节中,我们将创建一个SQL映射配置文件。这个文件是iBATIS的核心,如图3.1所示。图3.1描述了iBATIS的配置,其中Sql
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026聚酯行业市场现状市场分析及服务评估发展研究报告
- 2026中国超算中心液冷系统配套线缆绝缘可靠性测试报告
- 2026中国果味饮料香精技术发展与感官体验优化报告
- 2026中国光刻胶化学品行业风险预警与应对措施分析
- 2026实木家具企业私域流量运营ROI测算与优化路径
- 2026实木家居企业数字化转型典型案例与效益测算报告
- 2026低压电缆行业融资模式创新与资本运作研究
- 2026中国液体化工物流竞争格局与商业模式创新研究报告
- 2026中国特种气体市场容量测算与进口替代路径研究报告
- 2026-2030中国男士风衣行业市场发展现状及竞争格局与投资前景研究报告
- 时空耦合分类模型构建-洞察及研究
- 2025年揭阳揭西县选调高中教师考试试题(含答案)
- 咯血患者介入治疗的护理讲课件
- GB/T 45472-2025架空和综合管廊用预制保温管道
- 急救与生命支持类设备管理
- 2025年湖北恩施州巴东县机关事业单位选调46人历年高频重点提升(共500题)附带答案详解
- 培训劳动纪律
- 如何做好临床护理带教组长
- 人教版六年级数学上册【全册教案】
- 车位租赁协议
- 做有梦想的少年 课件-2024-2025学年统编版道德与法治七年级上册
评论
0/150
提交评论