Mybaits的特点及优点
什么是mybatis,mybatis有什么特点,下面先给大家介绍下mybatis的概念及特点。
jdbc开发优缺点:
1)优点:简单易学,上手快,非常灵活构建SQL,效率高
2)缺点:代码繁琐,难以写出高质量的代码(例如:资源的释放,SQL注入安全性等)
开发者既要写业务逻辑,又要写对象的创建和销毁,必须管底层具体数据库的语法
(例如:分页)。
3)适合于超大批量数据的操作,速度快
hibernate开发优缺点:
1)优点:不用写SQL,完全以面向对象的方式设计和访问,不用管底层具体数据库的语法,(例如:分页)便于理解。
2)缺点:处理复杂业务时,灵活度差, 复杂的HQL难写难理解,例如多表查询的HQL语句
3)适合于中小批量数据的操作,速度慢
1)基于上述二种支持,我们需要在中间找到一个平衡点呢?结合它们的优点,摒弃它们的缺点,
这就是myBatis,现今myBatis被广泛的企业所采用。
2)MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
3)iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
4)jdbc/dbutils/springdao,hibernate/springorm,mybaits同属于ORM解决方案之一
好了,下面在给大家简单介绍下Mybaits的特点及优点,具体内容如下所示:
1.SQL语句和代码分离
便于统一管理和维护,不必再Java代码中调式SQL语句.但是当SQL语句出错时,控制台不会打印Log,
解决办法--引用log4j
2.用标签拼接SQL语句
用标签代替JAVA代码虽然写简单SQL语句时方便了许多,但是复杂的语句拼接难度大
3.结果集和JAVA对象自动映射
写过hibernate的都知道,hibernate连接数据库生成SQL语句的时候,会自动生成数据库实体类和其映射文件.在mybaits中,它帮我们做了这件事情.但是对数据库的字段要求较
高,实体类和配置文件需要手写.
4.即时加载
在一个页面同时显示大量数据时,hibernate的延时加载会创建大量的代理类,消耗资源.mybaits并不通过延时访问数据库.
相关推荐
-
MyBaits 入门之MyBatis环境搭建(第一篇)
MyBatis 简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis. MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Object
-
mybaits非配置原因,导致SqlSession was not registered for synchronization异常
今天运行程序时报了 SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@69d4fb43] was not registered for synchronization because synchronization is not active [11:03:17]-Closing non transactional SqlSession [org.apache.ibatis.session.defaults.Defa
-
Mybaits的特点及优点
什么是mybatis,mybatis有什么特点,下面先给大家介绍下mybatis的概念及特点. jdbc开发优缺点: 1)优点:简单易学,上手快,非常灵活构建SQL,效率高 2)缺点:代码繁琐,难以写出高质量的代码(例如:资源的释放,SQL注入安全性等) 开发者既要写业务逻辑,又要写对象的创建和销毁,必须管底层具体数据库的语法 (例如:分页). 3)适合于超大批量数据的操作,速度快 hibernate开发优缺点: 1)优点:不用写SQL,完全以面向对象的方式设计和访问,不用管底层具体数据库的语法
-
Mybatis的特点及优点
什么是mybatis,mybatis有什么特点,下面先给大家介绍下mybatis的概念及特点. jdbc开发优缺点: 1)优点:简单易学,上手快,非常灵活构建SQL,效率高 2)缺点:代码繁琐,难以写出高质量的代码(例如:资源的释放,SQL注入安全性等) 开发者既要写业务逻辑,又要写对象的创建和销毁,必须管底层具体数据库的语法 (例如:分页). 3)适合于超大批量数据的操作,速度快 hibernate开发优缺点: 1)优点:不用写SQL,完全以面向对象的方式设计和访问,不用管底层具体数据库的语法
-
简述Ajax的优点与缺点
ajax的优点 Ajax的给我们带来的好处大家基本上都深有体会,在这里我只简单的讲几点: 1.最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好. 2.使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力. 3.可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本.并且减轻服务器的负担,ajax的原则是"按需取数据",可以最大程度的减少冗余请求,和响应对服务器造成的负担. 4.基于标准化的
-
谈谈关于php的优点与缺点
php优点 1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换 PostgreSQL或者Oracle,支持N种数据库.(N >= 10) 2. 语法简单,如果有学习C和Perl的很容易上手,并且跟ASP有部分类似.有成熟的开发工具,比如NuPHPed,或者Zend Stu
-
Python中线程的MQ消息队列实现以及消息队列的优点解析
"消息队列"是在消息的传输过程中保存消息的容器.消息队列管理器在将消息从它的源中继到它的目标时充当中间人.队列的主要目的是提供路由并保证消息的传递:如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它.相信对任何架构或应用来说,消息队列都是一个至关重要的组件,下面是十个理由: Python的消息队列示例: 1.threading+Queue实现线程队列 #!/usr/bin/env python import Queue import threading import
-
深入浅析hbase的优点
hbase是运行在Hadoop上的NoSQL数据库,它是一个分布式的和可扩展的大数据仓库,也就是说HBase能够利用HDFS的分布式处理模式,并从Hadoop的MapReduce程序模型中获益.这意味着在一组商业硬件上存储许多具有数十亿行和上百万列的大表.除去Hadoop的优势,HBase本身就是十分强大的数据库,它能够融合key/value存储模式带来实时查询的能力,以及通过MapReduce进行离线处理或者批处理的能力.总的来说,Hbase能够让你在大量的数据中查询记录,也可以从中获得综合分
-
使用CSS框架布局的缺点和优点小结
现在好多网站都用了div+css来布局网页结构,优点是速度快了,可负面影响呢,来看下面的分析前端时间写了一篇<利用CSS框架进行高效率的站点开发>,有不少朋友问我相关的问题.很早5key就在公司进行CSS框架的架构,也对不少朋友提出CSS框架的建议.效果是很明显的.当然,CSS框架有利也有弊,最近也看了一些相关的文章.一些感想,与大家分享. CSS框架之利: 1.开发效率的提高. 如果你是一个企业建站的前端开发,相信在大部分时间里进行着同类站点的代码工作.定义好的框架可以大
-
JavaScript 函数惰性载入的实现及其优点介绍
最近看JavaScript高级程序设计,大有收获,接下来几天写一下读书笔记.之前写了一篇Ajax初步理解的随笔,里面有个函数用来创建XmlHttpRequest对象,浏览器兼容性原因,写出的代码通过大量if判断或者try,catch语句将函数引导到正确代码处. 复制代码 代码如下: <script type="text/javascript"> function createXHR(){ var xhr = null; try { // Firefox, Opera 8.0
-
比getjson好的底层函数是哪个有什么优点
复制代码 代码如下: $.ajax({ type: "GET", url: desturl, success:function(data) { if(data!='') { linfo.innerHTML=data; } loadimg.style.display="none"; // addTableListener(document.getElementById("tbColor"),0,0); }, error: function(){ a
-
ajax原理总结附简单实例及其优点
在工作中用了Ajax N多次了,也看过一些相关方面的书籍,也算是认识了它,但是一直没有认真总结和整理过相关的东东,失败! 近有闲情,将之总结如下: [名称] Ajax是Asynchronous JavaScript and XML(以及 DHTML 等)的缩写. 详情请移步Ajax: A New Approach to Web Applications [原理] 简单一些,就是通过使用XmlHttpRequest对象向服务器发送异步请求,获取返回的数据,并使用Javascript和DOM操作页面
随机推荐
- Java填充替换数组元素实例详解 原创
- jQuery通过ajax方法获取json数据不执行success的原因及解决方法
- jquery.form.js框架实现文件上传功能案例解析(springmvc)
- 视频格式 MPEG4 的软件及制作
- Linux chage命令详解
- ASP.NET编程简单实现生成静态页面的方法【附demo源码下载】
- PHP多种序列化/反序列化的方法详解
- Python heapq使用详解及实例代码
- Python数据类型详解(三)元祖:tuple
- thinkPHP下ueditor的使用方法详解
- 纯js代码制作的网页时钟特效【附实例】
- javascript中对变量类型的判断方法
- sql 查询结果合并union all用法_数据库技巧
- JavaScript基础进阶之数组方法总结(推荐)
- 用 php 编写的日历
- Android实现的ListView分组布局改进示例
- C#检查指定对象是否存在于ArrayList集合中的方法
- Python使用Scrapy保存控制台信息到文本解析
- 再谈Angular4 脏值检测(性能优化)
- Node.js 获取微信JS-SDK CONFIG的方法示例