📄 ibatis开发人员指南(翻译自ibatis_db_guide-1-2-8).htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0058)http://champion.ewuxi.com/old/opensource/ibatis/guide1.htm -->
<HTML><HEAD><TITLE>蓝色天空(原创作品)</TITLE><!-- InstanceBegin template="/Templates/文章.dwt" codeOutsideHTMLIsLocked="false" --><!-- InstanceBeginEditable name="doctitle" --><!-- InstanceEndEditable -->
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
href="ibatis开发人员指南(翻译自ibatis_db_guide-1-2-8)_files/FORUM.css" type=text/css
rel=stylesheet><!-- InstanceBeginEditable name="head" -->
<STYLE type=text/css>.style1 {
FONT-WEIGHT: bold; FONT-SIZE: 12pt
}
</STYLE>
<!-- InstanceEndEditable --><!-- InstanceParam name="OptionalRegion1" type="boolean" value="true" -->
<META content="MSHTML 6.00.3790.0" name=GENERATOR></HEAD>
<BODY bgColor=#adced8>
<H4
align=center><!-- InstanceBeginEditable name="标题" -->ibatis开发人员指南(翻译自ibatis_db_guide-1-2-8)<!-- InstanceEndEditable --></H4><!-- InstanceBeginEditable name="EditRegion3" -->
<P class=style1>介绍</P>
<P> 欢迎来到iBATIS Database
Layer!这个框架将让你能够更好的在JAVA应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access
Objects。另外还包括一些可能很有用的工具。</P>
<P><STRONG>SQL Maps</STRONG></P>
<P> Sql Maps是这个框架中最激动人心的部分,它是整个iBATIS Database
Layer的核心价值所在。通过使用Sql Maps你可以显著的节约数据库操作的代码量。SQL Maps使用一个简单的XML文件来实现从javaBean到SQL
statements的映射。跟其他的框架或者对象映射工具相比,SQL
Maps最大的优势是简单。它需要学习的东西很少,在连接表或复杂查询时也不需要复杂的scheme(怎么翻complex scheme?),使用SQL Maps,
你可以自由的使用SQL语句。 </P>
<P>Data Access Objects (DAO)</P>
<P> 当我们开发灵活的JAVA应用时,有一个好主意就是通过一个通用API层把实体操作的细节封装起来。Data
Access
Objects允许你通过一个简单接口的来操作数据,从而隐藏了实现的细节。使用DAO,你可以动态配置你的应用程序来访问不同的实体存储机制。如果你有一个复杂的应用需要用到几个不同的数据库,DAO可以让你建立一个一致的API,让系统的其他部分来调用。</P>
<P><STRONG>Utilities</STRONG></P>
<P> iBATIS Database
Layer包含一系列的有用的工具,比如SimpleDataSource,JDBC DataSource
2.0(也包括3.0)的一个轻量级实现。ScriptRunner也提供了从单元测试到自动发布的数据库准备工作。</P>
<P><STRONG>Examples</STRONG></P>
<P> 跟这个框架一起有一个examples.zip,包含了一系列简单的实例,在<A
href="http://www.ibatis.com/"
target=_blank>http://www.ibatis.com/</A>上有更多的例子,包括非常著名的Jpestore,
一个在线商店。(译者注,蓝色天空也有一系列的中文介绍和实例)</P>
<P>A<STRONG>bout this Document</STRONG></P>
<P> 本文介绍了iBATIS Database
Layer最重要的功能,还有一些功用没有写出来,凡是没有写出来的这些,可以认为是不支持或者正在修改。这些功能可能不经过通知就修改了,所以最好不要使用它们。本文将尽可能保持与框架同步。请确认你两者是否匹配。如果有任何问题或错误,请发mail到<A
href="mailto:clinton.begin@ibatis.com">clinton.begin@ibatis.com</A>。(译者注,也可以在<A
href="http://champion.ewuxi.com/" target=_blank>蓝色天空</A>讨论发帖讨论)。</P>
<P class=style1>SQL Maps (com.ibatis.db.sqlmap.*)</P>
<P><STRONG>概念</STRONG></P>
<P> SQL Map
API允许程序员很简单的把JAVA对象映射到PreparedStatement参数或者ResultSets。SQL
Maps的机制很简单,提供一个框架,来实现用20%的代码来实现80%JDBC的功能。</P>
<P><STRONG>How does it work?</STRONG></P>
<P> SQL Maps提供一个简单的框架,通过XML描述来映射JAVABeans,MAP
implementations甚至原始类型的包装(String,Integer等)到JDBC
PreparedStatement。想法很简单,基本的步骤如下:</P>
<P>1)提供一个对象作为参数(either a JavaBean, Map or primitive wrapper),The parameter
object<BR>will be used setting input values in an update statement, or query
values in a where clause (etc.).(感觉不译为好,你说呢?)</P>
<P>2)执行这个映射的statement,这一步是魔术发生的地方。SQL
Maps框架将建立一个PreparedStatement实例(instance),使用前面提供的对象的参数,执行statement,然后从ResultSet中建立一个返回对象。</P>
<P>3)如果是Update,则返回有多少行修改了,如果是查询,则返回一个对象或者对象的集合。跟参数一样,返回对象也可以是一个JAVABEAN,MAP或者一个primitive
type wrapper。</P>
<P>流程图如下:</P>
<P><IMG height=401 src="ibatis开发人员指南(翻译自ibatis_db_guide-1-2-8)_files/1.jpg"
width=711></P>
<P align=right><A
href="http://champion.ewuxi.com/old/opensource/ibatis/index.htm">返回目录</A> <A
href="http://champion.ewuxi.com/old/opensource/ibatis/guide2.htm">下一页</A></P><!-- InstanceEndEditable -->
<P align=left> </P>
<P align=right>紫龙,于
<SCRIPT language=JavaScript><!--function SymError(){ return true;}window.onerror = SymError;var SymRealWinOpen = window.open;function SymWinOpen(url, name, attributes){ return (new Object());}window.open = SymWinOpen;//--></SCRIPT>
<SCRIPT language=JavaScript type=text/JavaScript>document.write (document.lastModified);</SCRIPT>
<P align=right><A href="http://champion.8866.org/">蓝色天空</A>版权所有</P>
<P align=left><INPUT class=buttonface onclick=history.go(-1) type=button value=返回 name=Button>
</P><!-- InstanceEnd -->
<SCRIPT language=JavaScript><!--var SymRealOnLoad;var SymRealOnUnload;function SymOnUnload(){ window.open = SymWinOpen; if(SymRealOnUnload != null) SymRealOnUnload();}function SymOnLoad(){ if(SymRealOnLoad != null) SymRealOnLoad(); window.open = SymRealWinOpen; SymRealOnUnload = window.onunload; window.onunload = SymOnUnload;}SymRealOnLoad = window.onload;window.onload = SymOnLoad;//--></SCRIPT>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -