Java Persistence with MyBatis 3(中文版) 前言
对很多软件系统而言,保存数据到数据库和从数据库中检索数据是其工作流程中至关重要的一部分。在 Java 领域,有很多的实现了数据持久化层的工具和框架,它们每一个都有自己不同的实现方法。而 MyBatis,一个简单但功能强大的 Java 持久化框架,则采用了消除冗余代码和充分利用 SQL 和 Java 自身提供的强大的特性的策略。
这本MyBatis 教程将带你经历 MyBatis的安装、配置和使用这几个过程。每一章涉及到的概念将通过简单而实用的例子配合详细的指导来解释。
在本书的最后,你不仅会学到 MyBatis 的理论知识,还会在真正的项目中使用MyBatis的过程中,得到动手实践的认识和体会。
这本书也可以当作参考书或者用来重新学习每一章中讨论的概念。本书还提供了一些有说明性的例子,无论它是否必要,以确保所阐述的概念容易被理解。
本书涵盖了那些内容
第一章, MyBatis 入门, 介绍了 MyBatis 开源框架和解释了使用 MyBatis 而不是使用 JDBC的优点。我们也着眼于怎样创建一个项目,在使用和不使用 Maven 构建工具的情况下安装 MyBatis 框架依赖,配置和使用 MyBatis。
第二章,引导 MyBatis, 涵盖了怎样使用 XML 配置和基于Java API两种方式来引导 MyBatis。我们还会学到各种 MyBatis 配置项如类型别名(type alias),类型处理器(type handlers),全局参数设置,等等。
第三章,使用 XML 配置SQL映射器, 本章将深入到如何使用映射器Mapper XML配置文件文件来书写 SQL映射语句(statement)。我们将学习到怎样配置简单 SQL 语句、配置“一对一”关系和“一对多”关系的SQL 语句、使用ResultMaps 来映射结果。我们还会学习到怎样构造动态SQL语句(dynamic SQLs),结果分页,和自定义 ResultSet 处理器。
第四章,使用注解配置SQL映射器, 本章涵盖了怎样使用注解书写 SQL 映射语句。我们将学习到如何配置简单 SQL 语句,以及“一对一”关系和“一对多”关系的 SQL 语句。我们还会使用SqlProvider 注解来探究构建动态 SQL。
第五章,与Spring 的集成, 本章涵盖了怎样集成 MyBatis 和 Spring 框架。我们将学习到怎样安装 Spring 类库,往 Spring 应用上下文 ApplicationContext 中注册MyBatis beans, 映射器Mapper beans 和 SqlSession 注入,以及使用 Spring 的注解事务处理机制。
你需要为本书准备什么
运行本书上的样例,你需要安装以下软件:
- l Java JDK 1.5+
- l MyBatis 最新版本 (https://code.google.com/p/mybatis/)
- l MySQL (http://www.mysql.com/) 或其他任意关系数据库以及相应JDBC 驱动
- l Eclipse (http://www.eclipse.org) 或其他你喜欢的 IDE
- l Apache Maven 构建工具 (http://maven.apache.org/)
本书面向的读者
本书面向的人群是最起码有基本的数据库和 JDBC 使用经验的开发人员。你需要对 SQL有基本的了解。我们不假定你先前有过使用 MyBatis 的经验。
约定
在本书中,你会发现有大量的不同样式风格的文本,以区别不同类型的信息。这里有这些样式风格的样例以及其代表的意义解释:
源码词汇将会类似如下所示:"We can include other contexts through the use of theincludedirective." (include 作为源码词汇跟一般词汇样式不一样)
代码块格式设置如下:
- package com.mybatis3.domain;
- import java.util.Date;
- public class Student
- {
- private Integer studId;
- private String name;
- private String email;
- private Date dob;
- // setters and getters
- }
当我们希望你对特定部分的代码块引起关注时,相关的行或者元素将会被加粗:
- package com.mybatis3.domain;
- import java.util.Date;
- public class Student
- {
- <strong> private Integer studId;
- private String name;
- private String email;
- private Date dob;</strong>
- // setters and getters
- }
新的术语和重要词汇也会被加粗。比如,你在界面上,菜单上或者对话框会显示如下类似的信息:"点击Next按钮进入下一页".
读者反馈
我们一直非常欢迎读者的反馈。请告诉我们你对本书的看法-你喜欢什么和不喜欢什么。您的反馈对我们头衔的发展起到了极大的作用。
一般性的反馈, 请发送邮件至feedback@packtpub.com,请在你的邮件标题上标注下书名。
如果是一些您所擅长的话题,又或者是您有兴趣写或者赞助书籍,请在www.packtpub.com/authors上查看我们的作者指南。
客户支持
你现在已经是Packt 图书引以为豪的拥有者了。我们会为您提供一系列的服务以让您的购买物有所值。
下载样例源码
你可以使用在http://www.packtpub.com 的账号下载你购买过的所有Packt图书上的样例代码。如果你通过其渠道购买的此书,你可以访问http://www.packtpub.com/support,注册一个帐号,(选择本书),样例代码会直接通过邮箱发送给你。(译者注:读者也可以到 http://download.csdn.net/detail/u010349169/7555959 上下载。)
勘错
虽然我们尽全力来确保我们内容的准确性,但错误是不能避免的。如果您发现了我们任何书中的一个错误-可能是文本或者代码上的错误-您若汇报给我们,我们会非常感激!您这么做,可以其他的读者免受挫败感,帮助我们提高本书随后版本的质量。如果您发现任何勘错,请您访问http://www.packtpub.com/submit-errata,选择您购买的书,点击 errata submission form 超链接,提交您详细的勘错信息。一旦您的勘错被验证,您的提交将会被接受,并且勘错会被上传到我们的网站上,或者添加到该图书名下勘错列表中。任何勘错信息都可以在http://www.packtpub.com/support通过图书名查到。
盗版问题
在所有传媒手段中,互联网上的教材著作权盗版是一个正在进行的问题。在Packt,我们非常看重对我们的著作权和许可证的保护。如果您发现任何关于我们作品的非法拷贝,不论以什么形式,或者在互联网上,请您立刻为我们提供其地址或者是网站名,以让我们寻求相应的补救措施。
(如果发现有侵权嫌疑的资料,)请提供侵权嫌疑资料的链接,通过copyright@packtpub.com 与我们联系。
我们非常感谢你保护我们的作家,以及我们给你带来有价值的内容的能力的方面做出的帮助!
疑问
如果你有本书任何方面的疑问,可以通过questions@packtpub.com 联系我们,我们会尽力处理好它。
《Java Persistence with MyBatis 3(中文版)》导航:
Java Persistence with MyBatis 3(中文版)
Java Persistence with MyBatis 3(中文版) 前言
Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门
Java Persistence with MyBatis 3(中文版) 第二章 引导MyBatis
Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器
Java Persistence with MyBatis 3(中文版) 第四章 使用注解配置SQL映射器
Java Persistence with MyBatis 3(中文版) 第五章 与Spring集成
作者声明:本文出处是http://blog.csdn.net/luanlouis,如需转载,请注明出处!
Java Persistence with MyBatis 3(中文版) 前言的更多相关文章
- Java Persistence with MyBatis 3(中文版) 第五章 与Spring集成
MyBatis-Spring是MyBatis框架的子模块,用来提供与当前流行的依赖注入框架Spring的无缝集成. Spring框架是一个基于依赖注入(Dependency Injection)和面向 ...
- Java Persistence with MyBatis 3(中文版) 第二章 引导MyBatis
MyBatis最关键的组成部分是SqlSessionFactory,我们可以从中获取SqlSession,并执行映射的SQL语句.SqlSessionFactory对象可以通过基于XML的配置信息或者 ...
- Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器
关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...
- Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门
本章将涵盖以下话题: ž MyBatis是什么? ž 为什么选择MyBatis? ž MyBatis安装配置 ž 域模型样例 1.1 MyBatis是什么 MyBatis是一个简化和实现了Ja ...
- Java Persistence with MyBatis 3(中文版)
译者的话 前段时间由于工作和学习的需要,我打算深入研究MyBatis框架.于是在网上查找关于MyBatis的教程,发现国内网上关于MyBatis的教程资料少得可怜:除了MyBatis官网上的用户使用手 ...
- Java Persistence with MyBatis 3(中国版) 第五章 与Spring集成
MyBatis-Spring它是MyBatis子模块框.它用来提供流行的依赖注入框架Spring无缝集成. Spring框架是一个基于依赖注入(Dependency Injection)和面向切面编程 ...
- Java Persistence with MyBatis 3(中国版)
译者的话 前段时间因为工作和学习的须要,我打算深入研究MyBatis框架.于是在网上查找关于MyBatis的教程,发现国内网上关于MyBatis的教程资料少得可怜:除了MyBatis官网上的用户使用手 ...
- Java Persistence with MyBatis 小结3
1 映射器配置文件和映射器接口 在 com.mybatis3.mappers 包中的 StudentMapper.xml 配置文件内,是如何配置 id 为”findStudentById”的 SQL ...
- Java Persistence with MyBatis 小结2
MyBatis 最关键的组成部分是 SqlSessionFactory,我们可以从中获取 SqlSession,并执行映射的 SQL 语句.SqlSessionFactory 对象可以通过基于 XML ...
随机推荐
- POJ 2674 Linear world(弹性碰撞)
Linear world Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 4426 Accepted: 1006 Desc ...
- CC1,IceBreak,Hello world ,hello toastmaster
this is my first speech:icebreak in toastmaster,it is precious memory for me,this is first time that ...
- 启动tomcat服务器,配置CATALINA_HOME和JAVA_HOME
遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:tomcat在启动时,会读取环境变量的信息,需要一个CATALIN ...
- Linux: su sudo sudoer
日常操作中为了避免一些误操作,更加安全的管理系统,通常使用的用户身份都为普通用户,而非root.当需要执行一些管理员命令操作时,再切换成root用户身份去执行. 普通用户切换到root用户的方式有:s ...
- 13_java之final|static|包|匿名对象|代码块|内部类
01final关键字概念 * A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承 ...
- Android 4 学习(18):搜索
参考<Professional Android 4 Development> 搜索 通过下面这几种方式可以给应用程序添加搜索功能: Search Bar Search View Quick ...
- interrupt 1 using 1
释疑:void Timer0() interrupt 1 using 1 Timer0 是函数名,随便取的 interrupt xx using y 跟在interrupt 后面的 ...
- 使用ssh client与bash scripts轻松管理多台主机
当我们需要控制一个局域网中的很多台服务器时,一个简单的全局操作可能会被放大地异常繁琐,这时我们就会需要新的工具来快速完成这种工作. 我们将使用ssh客户端提供的一些工具来快速完成这一开发工作,我们的开 ...
- tornado 之 异步非阻塞
异步非阻塞 1.基本使用 装饰器 + Future 从而实现Tornado的异步非阻塞 import tornado.web import tornado.ioloop from tornado im ...
- 跟我学算法-tensorflow 实现神经网络
神经网络主要是存在一个前向传播的过程,我们的目的也是使得代价函数值最小化 采用的数据是minist数据,训练集为50000*28*28 测试集为10000*28*28 lable 为50000*10, ...