mybatis框架以及mybatis与hibernate的区别

最近由于工作需要,了解了下mybatis,先把学习结果做下总结,之前在14年的时候学习过一段时间springmvc+hibernate,那时候对hibernate学的比较晕,很多东西都是照葫芦画瓢,今天在学mybatis的时候发现,不是我一个人晕,估计大家都很晕,mybatis的出现,让这些变得简单了很多。

1、mybatis的框架

mybatis是一个持久层的框架,是apache下的顶级项目(说的比较虚)。mybatis是让程序员将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活的生成满足需求的sql语句。mybatis可以向preparedStatement中的输入参数进行输入映射,将查询结果集灵活的映射到java对象(输出映射)

mybatis总共分6层,由上到下分别是:1)sqlMapConfig.xml(mybatis全局配置数据源、事物等,mybatis的运行文件),下面有多个mapper.xml的映射文件;2)sqlSessionFactory(会话工厂),作用:创建sqlsession;3)sqlSession(会话),作用:操作数据库(发出sql的增、删、改、查等操作);4)Executor(执行器),作用:sqlSession内部听过执行器操作数据库;5)mapped Statement(底层封装对象),作用:对操作数据库存储封装,包括sql语句、输入参数、输出结果类型等;6)mysql数据库

同时有1个输入和1个输出:1个输入是输入参数类型(java简单类型、hash、pojo自定义类型),1个输出结果集,类型同输入类型

可以参考一个网上的mybatis框架图,如下:

https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1483807402246&di=747e7035a67a0accd3f3472b05330630&imgtype=0&src=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F610238%2F201411%2F122027159917410.jpg

2、mybatis与hibernate的区别

hibernate:是一个标准ORM(对象关系映射)框架,入门门槛较高。不需要程序员写sql,sql语句自动生成。对sql语句进行优化、修改比较困难。

应用场景:

            适用于需求变化不多的中小型项目,比如:后台管理系统、erp、orm、oa等

 

mybatis:专注是sql本身,需要程序员自己编写sql语句,sql语句修改、优化比较方便。Mybatis是一个不完全的ORM框架,虽然程序员自己写sql,mybatis也可以实现映射(输入映射、输出映射)。

应用场景:

            适用于需求变化较多的项目,比如:互联网项目

 

 

后面我会不定期的把自己学习的总结更新上来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值