Mybatis快速入门指南
简介
当下越来越多的企业项目架构中,在持久层部分,抛弃了Hibernate框架,而选用Mybatis框架取而代之,旨在更加深入细致的控制和数据库的交互。
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11日决定迁移到Github。

最新资源地址:
https://github.com/mybatis/mybatis-3/releases/download/mybatis-3.2.8/mybatis-3.2.8.zip
最新源码地址:
https://github.com/mybatis/mybatis-3/archive/mybatis-3.2.8.zip
官方包结构:

集成
简单介绍了这个框架后,下面我们开始来集成使用它,所有的操作都围绕着官方文档来,上手很简单。步骤如下:
1.导入“核心包”和所有的“依赖包”;
2.添加配置文件mybatis.cfg.xlm,配置数据库基本链接和事务

3.创建用户(User)模型,提供基本的id,username,password等字段

4.添加模型对于的Mapper文件(Hibernate是基于对象关系映射,所以会有hbm文件;而Mybatis是基于操作和sql映射,这里就是mapper文件了),参照文档第8页:

5.在Mybatis.cfg.xml中,添加mapper文件配置:

6.如果在mapper文件中,使用了对象的简单名称,需要在mybatis.cfg.xml中,添加如下配置:

7.创建数据库连接工具--MybatisUtils:

8.测试


总结
说的最多的还是Mybatis和Hibernate的对比,在这里总结几点:
1.Hibernate中对象相关的配置文件为hbm文件,而Mybatis中对象相关配置文件为Mapper文件。
2.Hibernate框架对数据库数据的操作,完全是按照面向对象的方式,只需把操作的对象放入API方法就行,不用关心SQL;而Mybatis操作中,对象和对于的SQL都需要自己编写。
3.Hibernate框架的强大在于他的封装,简化和封装了很多细节,虽然减轻开发者负担,但是多了很多未知(很多开发者不知道他怎么做的);Mybatis框架的所有操作的每一个细节都是由开发者自己完成,这样虽然要做的事多了,但是全程可控。
在项目中,你们会选择使用一个一知半解,使用简单;还是选择一个稍微复杂,而全程可控的框架呢 ?

Mybatis快速入门指南的更多相关文章
- MyBatis学习总结(一)——MyBatis快速入门
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- MyBatis快速入门
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- MyBatis学习总结(一)——MyBatis快速入门(转载)
本文转载自http://www.cnblogs.com/jpf-java/p/6013537.html MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了 ...
- MyBatis入门学习教程-MyBatis快速入门
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- AngularJS快速入门指南20:快速参考
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南19:示例代码
本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...
- AngularJS快速入门指南18:Application
是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...
- AngularJS快速入门指南17:Includes
使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...
- AngularJS快速入门指南16:Bootstrap
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
随机推荐
- extension Kingfisher where Base: Image:泛型类型的具体化与实例化
具体化:针对特定的类型参量进行二次定义: 实例化:实例化:
- luogu P4168 [Violet]蒲公英
嘟嘟嘟 分块经典题竟然是一道黑题…… 分块求区间众数的大体思想是对于询问区间[L, R],预处理出这中间的整块的众数,然后统计两边零散的数在[L, R]中出现的次数,最后取出现次数最多且最小的数. 因 ...
- Strtus2框架使用HttpServletResponse响应数据
-----------------------------------------------------------------------------------------jsp-------- ...
- PowerDesign16.6支持Mysql的生成sql脚本中包含Collate信息
当前powerDesign版本:16.6 列上指定:Collation = utf8_general_ci 但是SQL脚本中,列字段没有显示Collect ---------------------- ...
- VUE插件整理
转自:https://blog.csdn.net/miaozhenzhong/article/details/80138174 1.VsCode官方插件地址: https://marketplace. ...
- 2018/7/19 考试(tower,work,holes)
noip模拟赛,挺良心的题,考的贼烂(膜一下@来日方长大佬(sdfz rank1)) 不多说了,看题吧 1.tower 题面: 铁塔(tower.pas/c/cpp) 题目描述 Rainbow和Fre ...
- 【TOJ 3369】CD(二分)
描述 Jack and Jill have decided to sell some of their Compact Discs, while they still have some value. ...
- 【PTA 天梯赛训练】词频统计(map+vector)
请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词. 所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符.而合 ...
- 洛谷P3871 [TJOI2010]中位数(splay)
题目描述 给定一个由N个元素组成的整数序列,现在有两种操作: 1 add a 在该序列的最后添加一个整数a,组成长度为N + 1的整数序列 2 mid 输出当前序列的中位数 中位数是指将一个序列按照从 ...
- IDEA中使用插件添加更多可选择的主题,使代码高亮,缓解视觉疲劳
1.点击 File-->settings(或Ctrl+Shift+S)打开IDE设置面板 点击plugins-->右侧选择Marketplace-->搜索框中输入Material-- ...