您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > Mybatis-3.3.0官方文档-中文.pdf
mybatis参考文档参考文档参考文档参考文档简介简介入门入门XML配置XML配置XML映射文件XML映射文件动态SQL动态SQLJavaAPIJavaAPISQL语句构建器SQL语句构建器日志日志项目文档项目文档项目文档项目文档项目信息项目信息项目报表项目报表简介简介什么是什么是MyBatis??MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。帮助改进文档帮助改进文档...不管你以何种方式发现了文档的不足,或是丢失对某一特性的描述,那么你能做的最好的事情莫过于去研究它并把文档写出来。该文档xdoc格式的源码文件可通过项目的Git代码库来获取。Fork该源码库,做出更新,然后提交一个pullrequest吧。你将成为本文档的最佳作者,MyBatis的用户定会过来查阅的。当前的国际化版本当前的国际化版本MyBatis的其他语言版本:EnglishEspañol日本語한국어简体中文你想使用本地语言来了解MyBatis吗?那就将它翻译成你的母语并提供给我们吧!最近更新:24五月2015最近更新:24五月2015||版本:3.3.0版本:3.3.0ThisPDFwasgeneratedviathePDFmyURLwebconversionservice!Copyright©2010–2015MyBatis.org.Allrightsreserved.ThisPDFwasgeneratedviathePDFmyURLwebconversionservice!mybatis参考文档参考文档参考文档参考文档简介简介入门入门XML配置XML配置XML映射文件XML映射文件动态SQL动态SQLJavaAPIJavaAPISQL语句构建器SQL语句构建器日志日志项目文档项目文档项目文档项目文档项目信息项目信息项目报表项目报表入门入门安装安装要使用MyBatis,只需将mybatis-x.x.x.jar文件置于classpath中即可。如果使用Maven来构建项目,则需将下面的dependency代码置于pom.xml文件中:dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversionx.x.x/version/dependency从从XML中构建中构建SqlSessionFactory每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心的。SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得。而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。从XML文件中构建SqlSessionFactory的实例非常简单,建议使用类路径下的资源文件进行配置。但是也可以使用任意的输入流(InputStream)实例,包括字符串形式的文件路径或者file://的URL形式的文件路径来配置。MyBatis包含一个名叫Resources的工具类,它包含一些实用方法,可使从classpath或其他位置加载资源文件更加容易。Stringresource=org/mybatis/example/mybatis-config.xml;InputStreaminputStream=Resources.getResourceAsStream(resource);sqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream);最近更新:24五月2015最近更新:24五月2015||版本:3.3.0版本:3.3.0PDFmyURL-thebestonlinewebtopdfconversionserviceXML配置文件(configurationXML)中包含了对MyBatis系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务范围和控制方式的事务管理器(TransactionManager)。XML配置文件的详细内容后面再探讨,这里先给出一个简单的示例:?xmlversion=1.0encoding=UTF-8?!DOCTYPEconfigurationPUBLIC-//mybatis.org//DTDConfig3.0//EN=developmentenvironmentid=developmenttransactionManagertype=JDBC/dataSourcetype=POOLEDpropertyname=drivervalue=${driver}/propertyname=urlvalue=${url}/propertyname=usernamevalue=${username}/propertyname=passwordvalue=${password}//dataSource/environment/environmentsmappersmapperresource=org/mybatis/example/BlogMapper.xml//mappers/configuration当然,还有很多可以在XML文件中进行配置,上面的示例指出的则是最关键的部分。要注意XML头部的声明,用来验证XML文档正确性。environment元素体中包含了事务管理和连接池的配置。mappers元素则是包含一组mapper映射器(这些mapper的XML文件包含了SQL代码和映射定义信息)。不使用不使用XML构建构建SqlSessionFactory如果你更愿意直接从Java程序而不是XML文件中创建configuration,或者创建你自己的configuration构建器,MyBatis也提供了完整的配置类,提供所有和XML文件相同功能的配置项。DataSourcedataSource=BlogDataSourceFactory.getBlogDataSource();TransactionFactorytransactionFactory=newJdbcTransactionFactory();Environmentenvironment=newEnvironment(development,transactionFactory,dataSource);PDFmyURL-thebestonlinewebtopdfconversionserviceConfigurationconfiguration=newConfiguration(environment);configuration.addMapper(BlogMapper.class);SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(configuration);注意该例中,configuration添加了一个映射器类(mapperclass)。映射器类是Java类,它们包含SQL映射语句的注解从而避免了XML文件的依赖。不过,由于Java注解的一些限制加之某些MyBatis映射的复杂性,XML映射对于大多数高级映射(比如:嵌套Join映射)来说仍然是必须的。有鉴于此,如果存在一个对等的XML配置文件的话,MyBatis会自动查找并加载它(这种情况下,BlogMapper.xml将会基于类路径和BlogMapper.class的类名被加载进来)。具体细节稍后讨论。从从SqlSessionFactory中获取中获取SqlSession既然有了SqlSessionFactory,顾名思义,我们就可以从中获得SqlSession的实例了。SqlSession完全包含了面向数据库执行SQL命令所需的所有方法。你可以通过SqlSession实例来直接执行已映射的SQL语句。例如:SqlSessionsession=sqlSessionFactory.openSession();try{Blogblog=(Blog)session.selectOne(org.mybatis.example.BlogMapper.selectBlog,101);}finally{session.close();}诚然这种方式能够正常工作,并且对于使用旧版本MyBatis的用户来说也比较熟悉,不过现在有了一种更直白的方式。使用对于给定语句能够合理描述参数和返回值的接口(比如说BlogMapper.class),你现在不但可以执行更清晰和类型安全的代码,而且还不用担心易错的字符串字面值以及强制类型转换。例如:SqlSessionsession=sqlSessionFactory.openSession();try{BlogMappermapper=session.getMapper(BlogMapper.class);Blogblog=mapper.selectBlog(101);}finally{session.close();}现在我们来探究一下这里到底是怎么执行的。PDFmyURL-thebestonlinewebtopdfconversionservice探究已映射的探究已映射的SQL语句语句现在,或许你很想知道SqlSession和Mapper到底执行了什么操作,而SQL语句映射是个相当大的话题,可能会占去文档的大部分篇幅。不过为了让你能够了解个大概,这里会给出几个例子。在上面提到的两个例子中,一个语句应该是通过XML定义,而另外一个则是通过注解定义。先看XML定义这个,事实上MyBatis提供的全部特性可以利用基于XML的映射语言来实现,这使得MyBatis在过去的数年间得以流行。如果你以前用过MyBatis,这个概念应该会比较熟悉。不过XML映射文件已经有了很多的改进,随着文档的进行会愈发清晰。这里给出一个基于XML映射语句的示例,它应该可以满足上述示例中SqlSession的调用。?xmlversion=1.0encoding=UTF-8?!DOCTYPEmapperPUBLIC-//mybatis.org//DTDMapper3.0//EN=org.mybatis.example.BlogMapperselectid=selectBlogresultType=Blogselect*fromBlogwhereid=#{id}/select/mapper对于这个简单的例子来说似乎有点小题大做了,但实际上它是非常轻量级的。在一个XML映射文件中,你想定义多少个映射语句都是可以的,这样下来,XML头部和文档类型声明占去的部分就显得微不足道了。文件的剩余部分具有很好的自解释性。在命名空间“com.mybatis.example.BlogMapper”中定义了一个名为“selectBlog”的映射语句,这样它就允许你使用指定的完全限定名“org.mybatis.example.BlogMapper.selectBlog”来调用映射语句,就像上面的例子中做的那样:Blogblog=(Blog)session.sele
本文标题:Mybatis-3.3.0官方文档-中文.pdf
链接地址:https://www.777doc.com/doc-5970340 .html