没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
MyBatis V3.2.2 User Guide
1.Table of Contents
2.说明
3.开始
4. 配置 XML
5.映射器 XML 文件
6.动态 SQL
7.JAVA API
8.Logging
帮助使文档更好
译本
开始
开始
从 建立
不使用 建立
从 获得
探究映射 ! 语句
范围"#$及生命期"%$&
配置 '
配置"()*$'
属性"##$'
集合"+*$,
#-
#.
.*/0
&12&
3#*3
'40'
,154
60##
##" 映射器文件$
##" 映射器文件$
7#
3
503
8#'
&-90##*
3
:0!&
:0! 动态 !&
&;4-5
&;4-5
&: 目录结构
&
30&
3<!(&
3<510&
3<&
3<!(&
3":/58/(-</:$&3
'***&,
'***&,
'***()*36
1.Introduction
1.1 Introduction
1.1.1 What is MyBatis?
MyBatis 是一个支持自定义 SQL,存储过程及高级映射的经典持久化框架。MyBatis 消除了
几乎全部 JDBC 代码及返回结果集和参数的手工设置。MyBatis 能使用简单的 XML 或者注
解为配置及原始映射、接口映射及 JAVA POJOS(Plain Old JAVA Objects)到数据库记录。
1.1.2 帮助使文档更好
假如你发现文档缺失任何部分或者某功能记录,最好的学习方式是自己书写帮助文档!本
说明的源码以 XDOC 格式存放于 Project’s GIT。
(https://github.com/mybatis/mybatis-3/tree/master/src/site)
检测、更新和发送你的补丁内容到 Tracker
(https://github.com/mybatis/mybatis-3/issues)
你是本文档的最好读者,人民乐意你去阅读。
1.1.3 译本
用户可以以下译本阅读关于 MyBatis 的译本
英语
你想以你的母语阅读 MyBatis 吗?提交一个用你母语发行的补丁。
2.开始
2.1 开始
每个 MyBatis 应用程序的中心都是围绕一个 SqlSessionFaction 实例。SqlSessionFaction 实例
被使用 SqlSessionFactionBuilder 创建。SqlSessionFactionBuilder 可从一个客制准备好的指向
XML 配置文件的配置类实例创建一 SqlSessionFaction 实例,
2.1.1 从 XML 建立 SqlSessionFactory
从 XML 建立一 SqlSessionFactory 实例很简单。你为该配置使用 classpath 资源是被推荐
的,但是你应该使用任何 InputStream 实例,包含一个被创建的从一个本地文件路径或
file://url。
MyBatis 包含一工具类—Resources。该工具类包含一系列方法可以使更容易从 classpath 或
其他路径加载资源。
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
XML 配置文件包含 MyBatis 系统核心配置,含有一创建数据库连接实例的数据源,也有决
定事物范围及控制的 TransactionManager。XML 的全部详细配置在后面会有,这里只是一
个简单的事例。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
尽管 XML 配置文件有许多配置,以上配置指出了最关键的部分。注意 XML 头部,需
要验证 XML 文档的有效性。environment 元素体包含事物管理(transaction)及连接池的环
境配置。
映射(mappers)元素包含一映射(mappers)列表---包含 SQL 代码及映射(mapping)定义的 XML
文件。
2.1.2 不使用 XML 建立 SqlSessionFactory
假如你更喜欢直接建立配置,使用 JAVA 而非 XML,或者创建属于你的配置创建器,
MyBatis 提供一完全的配置(Configuration)类,此配置类提供了所有如 XML 文件的配置参数。
DataSource dataSource = BlogDataSourceFactory.getBlogDataSource();
TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment("development", transactionFactory, dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(BlogMapper.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
注意这种情况下配置是增加一个映射类,映射类包含避免 XML 需要的 SQL 映射注解
(annotation)的 JAVA 类。然而,由于一些 JAVA 注解(annotation)及 MyBatis 映射的复杂性
的局限,XML 映射仍旧需要最高级映射(例如交叉连接映射)。因此,MyBatis 将自动查找
并加载每个存在的 XML 文件(此时,BlogMapper.xml 将被加载基于类路径[classpath]及
BlogMapper.class)。
2.1.3 从 SqlSessionFactory 获得 SqlSession
现在你有一个 SqlSessionFactory,作为命名提议,你能获得一 SqlSession 实例。该实例
完全包含每个被需要执行 SQL 命令的对应数据库的方法。你能直接通过 SqlSession 实例执
行映射的 SQL 语句。例如
SqlSession session = sqlSessionFactory.openSession();
try {
Blog blog = session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);
} finally {
session.close();
}
当该例子执行,被使用 MyBatis 之前版本的用户所熟悉,现在有一清晰的方法。用接
口(e.g. BlogMapper.class),接口的熟悉描述赋予的语句的参数及返回值,现在你能直接执
行并且类型安全的代码,不用考虑很可能的原义字符及转换错误。
例如:
SqlSession session = sqlSessionFactory.openSession();
try {
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
} finally {
session.close();
}
现在,让我们探究此处执行的严密(exactly)。
2.1.4 探究映射 SQL 语句
在这个观点上你可能想知道被 SqlSession 或映射类(Mapper class)严密地执行了什么。
映射的 SQL 语句的主题是主要部分,这个主题将很可能支配(dominate)本文档的大多观点。
但是为了给你一个关于正在严密执行什么的想法,此处给了一些例子。
不 管 以 上 的 事 例 , 语 句 被 XML 或 者 注 解 定 义 (Annotations) 。 让 我 们 首 先 查 看
XML。MyBatis 所提供的全部功能集合能被认为使用基于映射语言的 XML,使 MyBatis 流
行了数年。
假如你以前使用过 MyBatis,你会熟悉概念,但是 XML 映射文档的一些改变会在之后变清
晰。此处是基于映射语句的 XML 的例子,该例子会是 SqlSession 调用安全的。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" parameterType="int" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
尽管这个例子看起来像前面的例子,它确实非常轻量。你能在一个单独 XML 映射文件中
剩余63页未读,继续阅读
资源评论
- qdoxford2014-06-04还是原版的好
- czl3152013-11-16写的有点简单了,支持一下!
老知了-米芾
- 粉丝: 3
- 资源: 35
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- bcprov-jdk15on-1.50.zi
- (7151648)记事本源代码
- 深入探讨HTTP协议的核心功能及其安全性解决方案
- 用digital实现D触发器
- 视频游戏检测30-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- 皮带滚筒式双向移载机sw12可编辑全套技术资料100%好用.zip
- fdjslkfjkldsjgkklfdg
- EMC整改过程分享+EMC测试项+EMC优化方案+EMC验证结果
- 瓶盖打码分拣机sw18可编辑全套技术资料100%好用.zip
- 牛奶激光打码夹持自动化设备sw18可编辑全套技术资料100%好用.zip
- 机器故障数据集.zip
- windows组策略组策略分享
- 气动真空上料机sw17全套技术资料100%好用.zip
- 谷物盒、牛奶纸箱、苏打水检测14-YOLO(v5至v11)、COCO、Paligemma数据集合集.rar
- proxy arp自动配置-打开-适用于openwrt
- 基于粒子群算法的配电网重构 基于IEEE33节点电网,以网损和电压偏差最小为目标,考虑系统的潮流约束,采用粒子群算法求解优化模型,得到确保放射型网架的配电网重构方案 这个程序主要是一个潮流计算程序
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功