mybatis学习(一)——mybatis简介
1、简介
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
2、数据库框架
2.1 Hibernate
Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。
如图所示,Hibernate完成了编译sql,预编译、设置参数、执行sql,封装结果等一系列操作,对程序猿来说相当于黑盒操作。
而这样做的缺点主要由以下几点
1、Hibernate作为一个全自动框架,sql语句有系统自动生成,程序员不能对sql进行优化
2、不适用hql的情况下,不能进行定制化sql语句
3、如果数据库有大量字段,比如说如果只需要查询id,这时候需要全部映射将一百个字段全部查询出来。
2.2 mybatis
有些情况下我们是希望sql语句由程序员进行编写,将java代码和sql语句分开。
如图所示,mybatis将sql代码通过xml文件进行编写,其余的工作还是由mybatis自动完成,进行了半自动化实现。
最新文章
- Python高手之路【三】python基础之函数
- 小程序用户反馈 - HotApp小程序统计仿微信聊天用户反馈组件,开源
- delphi 步长不等于 1 的方法
- 2.1 CMMI2级——7个PA简述
- 一个purge参数引发的惨案——从线上hbase数据被删事故说起
- 18Mybatis_动态sql_foreach
- WM (Constants)
- 166. Fraction to Recurring Decimal -- 将除法的商表示成字符串(循环节用括号表示)
- Html5游戏开发开始前的一些数学基础
- warning: shared library text segment is not shareable
- 一个可能让你记忆力飙升的软件 —— 这是一道填空(keng)题
- TensorFlow框架之Computational Graph详解
- python实现博客自动刷点击脚本
- Vjudge Code
- 抽奖大转盘 js代码
- POJ2159 Ancient Cipher
- ES7 之 Async/await 的使用
- linux应用之gcc环境的安装
- ffplay源码分析7-播放控制
- 解决国内 NPM 安装依赖速度慢问题