myBatis的引出

jdbc

优点:简单易学,上手快,非常灵活构建sql,效率高。

l缺点:代码繁琐,难以写出高质量的代码(资源的释放,SQL注入安全性等),开发者关注多,又要写业务逻辑,又要关注对象的创建和销毁。

Hibernate 冬天学比较好 ORM实体关系映射,

好处:不用写sql语句。可以以面向对象的方式设计和访问,方便理解。其实hibernate底层也是调用的jdbc,它只是对jdbc进行了轻量级的封装。

l缺点:处理复杂业务时,灵活度差,复杂的hql难写。

  现今大多数业务系统都和数据库打交道,而且通常业务都很复杂,需要关联多个表查询,找到需要的数据。用Hibernate当业务复杂,关联多张表时,hql极其难写,效率也低。用jdbc吧,又不能以面向对象方式思考和使用,开发的代码质量也难以保证。那能否在这两者间找到一个平衡点呢?结合它们的优点,摒弃它们的缺点。

有,这就是myBatis。现今myBatis被广泛的企业所采用,大有超过hibernate的势头。

myBatis的引出

时间: 2024-12-14 11:29:40

myBatis的引出的相关文章

mybatis 与 xml

mybatis的两大重要组件:配置和映射文件,都是可以通过xml配置的(新版本新增了注解的方式配置Mapper),下面来解析下mybatis是怎么做的 其中,关于配置文件解析的主要是在这个类XMLConfigBuilder里面的parseConfiguration方法,XMLConfigBuilder在初始化的时候会新建一个XPathParser对象用于XML配置文件的解析 public XMLConfigBuilder(InputStream inputStream, String envir

MyBatis(二) resultMap使用

1.问题引出: 在做映射时候,之前,按照表DDL的字段名,设置java对象的属性.但是,在实际应用无法完全保证表字段名与java类属性完全一致,而且java类应该保持驼峰格式的规范风格.对于类似字段user_id等的情况,不能较好的处理.这时,需要使用resultMap标签来将,DDL的字段名和java类属性名一一对应起来. 下面实现一个使用resultMap做映射的实例,来阐述其使用方法: 2.resultMap使用,resultMap和resultType的不同使用场景: 在表的Mapper

深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置[转]

上篇文章<深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)>简单看了一下TypeHandler, 本次将结束对于mybatis的配置文件的学习, 本次涉及到剩下没提及到的几个节点的配置:objectFactory.databaseIdProvider.plugins.mappers. 那么,接下来,就简单介绍一下这几个配置的作用吧: 1.objectFactory是干什么的? 需要配置吗? MyBatis 每次创建结果对象的新实例时,它都会使用一个

深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置

上篇文章<深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)>简单看了一下TypeHandler, 本次将结束对于mybatis的配置文件的学习, 本次涉及到剩下没提及到的几个节点的配置:objectFactory.databaseIdProvider.plugins.mappers. 那么,接下来,就简单介绍一下这几个配置的作用吧: 1.objectFactory是干什么的? 需要配置吗? MyBatis 每次创建结果对象的新实例时,它都会使用一个

Java EE开发平台随手记5——Mybatis动态代理接口方式的原生用法

为了说明后续的Mybatis扩展,插播一篇广告,先来简要说明一下Mybatis的一种原生用法,不过先声明:下面说的只是Mybatis的其中一种用法,如需要更深入了解Mybatis,请参考官方文档,或者研读源码. 我们知道,使用Mybatis的方式有很多种,从是否集成上分,可以单独使用,也可以和Spring集成使用:从使用方式上分,可以编写静态工具类,在静态工具中调用SqlSession,也可以直接注入SqlSession/ SqlSessionTemplate,还可以编写Dao接口,让mybat

Java EE开发平台随手记2——Mybatis扩展1

今天来记录一下对Mybatis的扩展,版本是3.3.0,是和Spring集成使用,mybatis-spring集成包的版本是1.2.3,如果使用maven,如下配置: <properties>元素下添加 1 <mybatis.version>3.3.0</mybatis.version> 2 <mybatis.spring.version>1.2.3</mybatis.spring.version> <dependencies>元素下

mybatis入门截图二

-------------------- 线程不安全问题 首先明白什么是线程不安全: 举例:struts2中,每个action中都定义了model模型对象(action类中是全局对象的存在  数据域属性)  用于封装前端页面提交过来的数据  所以就造成了struts2是非线程安全的, 即struts2不能使用单例模式,而只能使用多例模式,因为:当进行多线程并发请求的时候  多个线程会共用一个成员变量的值(例如两个用户请求action时  他们的数据就会有问题) 所以为了解决这个问题  strut

关于json格式字符串解析并用mybatis存入数据库

园子里面找了很多关于json解析后存入数据库的方法,不是太乱,就是没有写完,我下面的主题代码多是受下面两位的启发,请按顺序查看 http://www.cnblogs.com/tian830937/p/6364622.html,我沿用了这个例子中的json数据格式,多层嵌套. http://blog.csdn.net/baicp3/article/details/46711067,这个例子虽然是反例,但是引出了JsonArray.方便后续开发. 看完明白上面两个例子后,我们就可以开始了.(注意:没

Mybatis for .net 的日志输出

目前mybatis for .net 可以支持对外的日志输出包括SQL语句和参数等信息,用于调试,目前支持的输出方式有三种 具体的mybatis的引用和使用方式不再本文的讨论范围 1.命令窗口的输出 命令窗口的输出比较乱,因为限于窗口的大小,SQL比较长的时候显示就比较乱了,具体的实现方式,是添加config文件,app.config或者web.config 第一步:添加应用程序配置文件 第二步:在configuration节点下添加如下节点 <configSections> <sect