MyBatis3用户指南简体中文版.docx

上传人:b****6 文档编号:3600642 上传时间:2022-11-24 格式:DOCX 页数:84 大小:239.78KB
下载 相关 举报
MyBatis3用户指南简体中文版.docx_第1页
第1页 / 共84页
MyBatis3用户指南简体中文版.docx_第2页
第2页 / 共84页
MyBatis3用户指南简体中文版.docx_第3页
第3页 / 共84页
MyBatis3用户指南简体中文版.docx_第4页
第4页 / 共84页
MyBatis3用户指南简体中文版.docx_第5页
第5页 / 共84页
点击查看更多>>
下载资源
资源描述

MyBatis3用户指南简体中文版.docx

《MyBatis3用户指南简体中文版.docx》由会员分享,可在线阅读,更多相关《MyBatis3用户指南简体中文版.docx(84页珍藏版)》请在冰豆网上搜索。

MyBatis3用户指南简体中文版.docx

MyBatis3用户指南简体中文版

 

 

MyBatis3

 

用户指南

 

从文档中复制代码的警告

对,这不是一个法律上的警告,但是它可以帮助你保持清醒的认识。

从美学上来讲,现代的文字处理工具在制作可读性强和格式良好的文本上做了大量的工作。

然而,它们也往往会由于插入特殊字符而完全破坏代码示例,有时看起来和你想要的是一模一样的。

“引号"和连字符就是一个很好的例子-在IDE环境或文本编辑器中,左边的那个符号就不会正常起作用,至少不会是你想要的那个效果。

阅读本文档,就要享受它,希望它能对你有帮助。

当遇到代码段示例的时候,可以寻找示例和下载(包括单元测试等),或是来自网站和邮件列表的示例。

帮助我们把文档做得更好…

如果你发现了本文档的遗漏之处,或者丢失MyBatis特性的说明时,那么最好的方法就是了解一下这个遗漏之处然后把它记录下来。

我们在wiki接收公共的文档贡献:

http:

//code.goo

你也是本文档的最佳作者,其他用户也会来阅读它的。

关于翻译

MyBatis3的用户指南翻译由南磊完成,若对翻译质量有任何意见和建议,请联系

nanlei1987@gmail.com,愿和大家共同提高,共同进步。

目录

什么是MyBatis?

.............................................................................................................5入门.................................................................................................................................5从XML中构建SqlSessionFactory..............................................................................5不使用XML构建SqlSessionFactory...........................................................................6

从SqlSessionFactory中获取SqlSession.......................................................................6探究已映射的SQL语句............................................................................................7命名空间的一点注释..........................................................................................8范围和生命周期........................................................................................................8

SqlSessionFactoryBuilder.....................................................................................8

SqlSessionFactory................................................................................................9

SqlSession..........................................................................................................9

Mapper实例.......................................................................................................9

XML映射配置文件........................................................................................................10properties.................................................................................................................10

Settings....................................................................................................................11typeAliases..............................................................................................................12typeHandlers............................................................................................................13objectFactory...........................................................................................................14plugins....................................................................................................................15environments............................................................................................................16transactionManager............................................................................................17dataSsource.......................................................................................................17mappers...................................................................................................................19

SQL映射的XML文件...................................................................................................19

select.......................................................................................................................20insert,update,delete..............................................................................................21

sql...........................................................................................................................23

Parameters...............................................................................................................24resultMap................................................................................................................25

高级结果映射...................................................................................................27

id,result..........................................................................................................29支持的JDBC类型............................................................................................30构造方法..........................................................................................................30关联.................................................................................................................31集合.................................................................................................................34鉴别器.............................................................................................................36缓存........................................................................................................................38使用自定义缓存...............................................................................................38参照缓存.................................................................................................................39动态SQL................................................................................................................39

if.....................................................................................................................40choose,when,otherwise.....................................................................................40

trim,where,set..................................................................................................41foreach.............................................................................................................43

JavaAPI.........................................................................................................................43

应用目录结构..........................................................................................................43

SqlSessions..............................................................................................................44

SqlSessionFactoryBuilder...................................................................................44

SqlSessionFactory..............................................................................................46

SqlSession........................................................................................................47

SelectBuilder.....................................................................................................53

SqlBuilder........................................................................................................56

什么是MyBatis?

 

MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。

MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。

MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlanOldJavaObjects,普通的Java对象)映射成数据库中的记录。

 

入门

 

每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心。

SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来获得。

SqlSessionFactoryBuilder对象可以从XML配置文件,或从Configuration类的习惯准备的实例中构建SqlSessionFactory对象。

 

从XML中构建SqlSessionFactory

 

从XML文件中构建SqlSessionFactory的实例非常简单。

这里建议你使用类路径下的资源文件来配置,但是你可以使用任意的Reader实例,这个实例包括由文字形式的文件路径或URL形式的文件路径file:

//来创建。

MyBatis包含了一些工具类,称作为资源,这些工具类包含一些方法,这些方法使得从类路径或其他位置加载资源文件更加简单。

Stringresource="org/mybatis/example/Configuration.xml";Readerreader=Resources.getResourceAsReader(resource);sqlMapper=newSqlSessionFactoryBuilder().build(reader);

XML配置文件包含对MyBatis系统的核心设置,包含获取数据库连接实例的数据源和

决定事务范围和控制的事务管理器。

关于XML配置文件的详细内容可以在文档后面找到,这里给出一个简单的示例:

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http:

//mybatis.org/dtd/mybatis-3-config.dtd">

当然,在XML配置文件中还有很多可以配置的,上面的示例指出的则是最关键的部分。

要注意XML头部的声明,需要用来验证XML文档正确性。

environment元素体中包含对事

务管理和连接池的环境配置。

mappers元素是包含所有mappe(r

的XML文件包含SQL代码和映射定义信息。

 

不使用XML构建SqlSessionFactory

映射器)的列表,这些mapper

 

如果你喜欢从Java程序而不是XML文件中直接创建配置实例,或创建你自己的配置构建器,MyBatis也提供完整的配置类,提供所有从XML文件中加载配置信息的选项。

DataSourcedataSource=BlogDataSourceFactory.getBlogDataSource();TransactionFactorytransactionFactory=new

JdbcTransactionFactory();

Environmentenvironment=

newEnvironment("development",transactionFactory,dataSource);Configurationconfiguration=newConfiguration(environment);configuration.addMapper(BlogMapper.class);

SqlSessionFactorysqlSessionFactory=

newSqlSessionFactoryBuilder().build(configuration);

注意这种情况下配置是添加映射类。

映射类是Java类,这些类包含SQL映射语句的注解从而避免了XML文件的依赖,XML映射仍然在大多数高级映射(比如:

嵌套Join映射)

时需要。

出于这样的原因,如果存在XML配置文件的话,MyBatis将会自动查找和加载一

个对等的XML文件(这种情况下,基于类路径下的BlogMapper.class类的类名,那么

BlogMapper.xml将会被加载)。

后面我们会了解更多。

 

从SqlSessionFactory中获取SqlSession

 

现在,我们已经知道如何获取SqlSessionFactory对象了,基于同样的启示,我们就可以获得SqlSession的实例了。

SqlSession对象完全包含以数据库为背景的所有执行SQL操作的方法。

你可以用SqlSession实例来直接执行已映射的SQL语句。

例如:

SqlSessionsession=sqlMapper.openSession();

try{

Blogblog=(Blog)session.selectOne("org.mybatis.example.BlogMapper.selectBlog",101);

}finally{

session.close();

}

这种方法起到的作用,和我们使用之前的MyBatis版本是相似的,现在有一种更简洁的方法。

使用合理描述参数和SQL语句返回值的接口(比如BlogMapper.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误。

例如:

SqlSessionsession=sqlSessionFactory.openSession();

try{

BlogMappermapper=session.getMa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1