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 ...
随机推荐
- 用C#生成不反复的随机数
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xiebaochun/article/details/28900237 对于随机数,大家都知道,计算机 ...
- Poj 1961 KMP
题意:给定一个字符串,求他每一个前缀,如果他是周期的,求len/最短循环节. 分析: 复习一下KMP,之前有详细解析. 由于朴素匹配每次移动一位,KMP可以多移动 f[i] 位,f 就是失配函数,失配 ...
- delete在js里为引用删除
delete 运算符从对象中删除一个属性,或从数组中删除一个元素. delete expressionexpression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素. 说明 ...
- highcharts(前端报表生成)
前端报表技术:使用 JavaScript 生成漂亮图表 百度 echarts: http://echarts.baidu.com/examples.html Funsioncharts : http: ...
- vue常用事件
一.事件监听 1. banner_edit.$watch('bannerForm.type', function () { //执行其他代码 console.log(666); this.banner ...
- Intellij IDEA中Maven解决依赖失效
最近在折腾Maven和Sonatype的Nexus, 倒霉催的国内和公司网络... Nexus配合finalspeed或者kcptun倒是很给力, 但是Intellij就经常出问题, 出现红字也不动 ...
- linnx 修改ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0 [编辑网卡的配置文件] 输入上述命令后回车,打开配置文件,使用方向键移动光标到最后一行,按字母键“i”,进入编 ...
- PyCharm Notes | PyCharm 使用笔记(远程访问服务器code配置指南)
PyCharm is a strong IDE for python programmer. Not only because it has a similar face with VS or som ...
- [转]Matlab2012b安装详解
matlab2012b安装文件下载: http://yunpan.cn/cVY5VsSeUXzai (提取码:ec84) 1.双击setup.exe进行安装.安装中选择“不使用Internet安装” ...
- Vue nodejs商城项目- 前后端数据传递
.利用Mongoose查询MongoDB 通过mongoose插件可以简捷地从mondodb中获取数据,首先安装mongoose: cnpm install mongoose --save 使用m ...