MyBatis 3 用户指南中文版.docx

上传人:b****8 文档编号:30489487 上传时间:2023-08-15 格式:DOCX 页数:103 大小:64.14KB
下载 相关 举报
MyBatis 3 用户指南中文版.docx_第1页
第1页 / 共103页
MyBatis 3 用户指南中文版.docx_第2页
第2页 / 共103页
MyBatis 3 用户指南中文版.docx_第3页
第3页 / 共103页
MyBatis 3 用户指南中文版.docx_第4页
第4页 / 共103页
MyBatis 3 用户指南中文版.docx_第5页
第5页 / 共103页
点击查看更多>>
下载资源
资源描述

MyBatis 3 用户指南中文版.docx

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

MyBatis 3 用户指南中文版.docx

MyBatis3用户指南中文版

MyBatis3用户指南中文版

MyBatis3.0.1

曾令祝

2010.06.15

MyBatis3用户指南中文版

曾令祝2

目录

第一章什么是MyBatis.......................................................................................................................3

第二章入门.......................................................................................................................................4

一、从XML中创造SqlSessionFactory...........................................................................................4

二、不使用XML文件新建SqlSessionFactory................................................................................5

三、使用SqlSessionFactory获取SqlSession...................................................................................5

四、探究SQL映射语句................................................................................................................6

五、作用域和生命周期.................................................................................................................7

1.SqlSessionFactoryBuilder..................................................................................................7

2.SqlSessionFactory............................................................................................................7

3.SqlSession......................................................................................................................7

4.Mapper实例...................................................................................................................8

第三章Mapper的XML配置文件........................................................................................................9

一、属性(properties).................................................................................................................9

二、设置(settings)...................................................................................................................10

三、类型别名(typeAliases)......................................................................................................11

四、类型句柄(typeHandlers)....................................................................................................12

五、对象工厂(ObjectFactory)..................................................................................................13

六、插件(plugins)...................................................................................................................14

七、环境(environments)..........................................................................................................15

八、映射器(Mappers)..............................................................................................................18

第四章SQL映射语句文件.................................................................................................................19

一、select..................................................................................................................................19

二、insert,update,delete..............................................................................................................20

三、SQL....................................................................................................................................23

四、参数(parameters)..............................................................................................................23

五、resultMap............................................................................................................................25

六、缓存(cache).....................................................................................................................37

七、cache-ref缓存引用...............................................................................................................39

第五章动态语句...............................................................................................................................40

if...............................................................................................................................................40

choose,when,otherwise................................................................................................................41

trim,where,set............................................................................................................................41

foreach.......................................................................................................................................43

第六章JavaAPI................................................................................................................................45

一、目录结构.............................................................................................................................45

二、SqlSessions..........................................................................................................................46

三、SqlSession...........................................................................................................................49

第七章SelectBuilder.........................................................................................................................55

第八章SqlBuilder.............................................................................................................................58

第九章说明.....................................................................................................................................59

MyBatis3用户指南中文版

曾令祝3

第一章什么是MyBatis

MyBatis世界上流行最广泛的SQL映射框架,由ClintonBegin在2002年创建,其后,捐献给了Apache

基金会,成立了iBatis项目。

2010年5月,将代码库迁致GoogleCode,并更名为MyBatis。

关于以前的版本,请访问http:

//ibatis.apache.org/

关于更名后最新的版本,请访问:

MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。

MyBatis摒除了大部分的JDBC

代码、手工设置参数和结果集重获。

MyBatis只使用简单的XML和注解来配置和映射基本数据类型、

Map接口和POJO到数据库记录。

MyBatis3用户指南中文版

曾令祝4

第二章入门

每一个MyBatis应该都是以一个SqlSessionFactory实例为中心。

一个SqlSessionFactory实例可以使用

SqlSessionFactoryBuilder来创造。

从配置类中创造的定制SqlSessionFactoryBuilder实例,可以使用XML

配置文件来生成一个SqlSessionFactory实例。

一、从XML中创造SqlSessionFactory

从XML文件中创造SqlSessionFactory实例是非常简单的。

推荐使用一个类路径资源来进行配置,你也

可以使用一个Reader实例,甚至使用URL路径。

MyBatis有一个Resources通用类,类中有许多方法可以简单地从类路径和其他地址中加载资源。

Stringresource="org/mybatis/example/Configuration.xml";

Readerreader=Resources.getResourceAsReader(resource);

sqlMapper=newSqlSessionFactoryBuilder().build(reader);

XML文件包含了许多MyBatis的核心设置,包括一个获取数据库连接(Connection)实例的数据源

(DataSource),和一个决定事务作用域和操作的TransactionManager。

全部的XML配置文件的内容将在

以后提到,先给出一个简单的样子。

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

>

DOCTYPEconfiguration

PUBLIC"-//mybatis.org//DTDConfig3.0//EN"

"http:

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

XML配置文件中还有其它许多内容,上面的例子只是指出了最重要的部分。

注意这个XML的标头,需

要一个DTD验证文档。

environment项里包含了事务管理和连接池的环境配置。

mappers项中包含了一

系列SQL语句映射定义的XML文件。

MyBatis3用户指南中文版

曾令祝5

二、不使用XML文件新建SqlSessionFactory

如果你更想直接使用Java语言而不是XML来生成这些配置,更或者你想使用自己的配置生成器,MyBatis

提供了一个完整的配置类来完成XML文件一样的配置。

DataSourcedataSource=BlogDataSourceFactory.getBlogDataSource();

TransactionFactorytransactionFactory=newJdbcTransactionFactory();

Environmentenvironment=

newEnvironment("development",transactionFactory,dataSource);

Configurationconfiguration=newConfiguration(environment);

configuration.addMapper(BlogMapper.class);

SqlSessionFactorysqlSessionFactory=

newSqlSessionFactoryBuilder().build(configuration);

这个配置里,加载了一个映射类。

映射类是包含了SQL映射注解的Java类,可以用来取代XML。

然而,

由于Java注解的一些限制和MyBatis映射的复杂性,一些高级的映射还是要用XML来配置,比如嵌套

映射等。

由于这个原因,MyBatis会自动查找和加载已经存在的XML。

比如说上面的代码,BlogMapper.xml

将会被类路径中BlogMapper.class加载。

以后会详细讨论这些。

三、使用SqlSessionFactory获取SqlSession

假设你有一个SqlSessionFactory,你就可以来获取一个SqlSession实例,SqlSession包含了针对数据库执

行语句的每一个方法。

你可以直接使用SqlSession执行已经映射的每一个SQL语句。

比如:

SqlSessionsession=sqlMapper.openSession();

try{

Blogblog=(Blog)session.select(

"org.mybatis.example.BlogMapper.selectBlog",101);

}finally{

session.close();

}

上述步骤对于使用MyBatis的上一个版本(即iBatis2)的用户来说比较熟悉。

现在,有一个更加清晰的

方式。

使用一个有正确参数和返回值的接口,你就可以更加清晰和安全地编写代码,从而避免出错。

这样:

SqlSessionsession=sqlSessionFactory.openSession();

try{

BlogMappermapper=session.getMapper(BlogMapper.class);

Blogblog=mapper.selectBlog(101);

}finally{

session.close();

}

现在,让我们开始探究一下步骤的执行细节。

MyBatis3用户指南中文版

曾令祝6

四、探究SQL映射语句

对于上面所说的,你可能很好奇SqlSession或Mapper类具体是什么执行的。

这是一个很复杂的话题,

如果要讨论,可能要用占据这个文档的绝大部分。

为了给你一个执行过程的概括,现在给出两个例子。

在上面的例子中,语句已经由XML或注解所定义。

我们先来看一下XML,以前,MyBatis提供的的所

有特性,都是基于XML的映射语句来实现。

如果你以前使用过MyBatis,那你对这些概念会非常熟悉。

但是XML的映射配置文档有了许多改进,以后将会变得越来越简单清晰。

下面这个基于XML映射语句

可以完成上面的SqlSession调用。

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

>

DOCTYPEmapper

PUBLIC"-//mybatis.org//DTDMapper3.0//EN"

"http:

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

select*fromBlogwhereid=#{id}

虽然这个简单的例子有点生涩,但是却非常简约。

你可以定义多个文件,也可以在一个XML文件里定

义任意个映射语句,这样可以省去XML标头。

文件的其它部分,都是自身的描述。

它定义了一个

org.mybatis.example.BlogMapper命名空间,在这个空间里再定义了一个selectBlog语句。

也可以使用

org.mybatis.example.BlogMapper.selectBlog全名称来调用。

我们可以将这样来调用上面这个文件

Blogblog=(Blog)session.select(

"org.mybatis.example.BlogMapper.selectBlog",101);

这和调用一个普通的JAVA类非常相似。

这个名字可以直接映射为一个与命名空间相同名称的Mapper

类,语句名对应类的方法名,参数和返回值也相对应。

你可以用下列语句简单地针对Mapper接口进行

调用,代码如下:

BlogMappermapper=session.getMapper(BlogMapper.class);

Blogblog=mapper.selectBlog(101);

第二种方式有许多优点。

一、它不依赖字符串,可以减少出错。

二、如果你的IDE有代码自动完成功能,

你可以很快导航到你的SQL语句(因为已经转化为方法名)。

三、你不再需要设定返回

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

当前位置:首页 > 初中教育

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

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