ibatis 不使用自动生成原生sql的原因
方便优化,尤其是复杂的连接或者嵌套查询,可以采用很多sql优化方法
■网友
当你到网站大到一定规模的时候,对于性能有要求的时候,你就会特别care sql的执行效率。DBA天天在数据库上面抓一批sql给你来找问题优化的时候,你就会非常的希望有个地方可以有所有的sql。 sql 与 应用分离的好处就是在你需要优化的时候能够很轻松的查找到对应的功能,并且可以在功能上线前做到sql review,让专业的人士去帮你优化sql,减轻应用程序员的负担。自动生成sql的工具例如hibernate,可能会让你看很久,当然如果你是用jdbcTemplate来做是另当别论。 ++++++++ 当然这个答案不是用来解答为什么“ibatis 不使用自动生成原生sql的原因”,而是用来解答为什么很多公司会选择ibatis来做持久化层的工具。
■网友
写了个intellij插件可以生成大部分单表的sql,可以看看https://github.com/gejun123456/MyBatisCodeHelper
■网友
举一个实际的例子给你,mysql也用cbo做sql优化器,可它的优化又是会莫名其妙,如果你用hibernater的hql之类的来做查,就算设置showsql参数,拿到sql语句最后也只能用原生jdbc来搞定,但ibatis把sql分离,可以和数据库更好的融合
■网友
这就是手工和自动之间的取舍问题吧~~各有利弊~~
■网友
简单的是不难的,但是,举个简单下例子,想象一下子查询的子查询又合并之类的操作,哪个 自动映射方便做到? 这个就像封装一样,封装的越多,在实现其“经典”的范围内是很方便的,但如果不是,就痛苦了
■网友
本身定位就是轻量化的框架。各种框架各有利弊,看项目类型选择。
■网友
如果ibatis也是你说所得对象映射,或许现在就不会这样被大多数人所熟知,因为对象映射这方面hibernate已经做到够好~sql是他的选择....(跪着也得走完 = =)
推荐阅读
- 『先进』长江流域最先进洗舱站在宁投运 油可分离回收,水能循环使用
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 汽车|迈凯伦Artura不再使用迈凯伦祖传V8引擎了?
- python的html5lib这个库咋使用啊我在网上也没有找到相关文档
- win7中本地连接跟无线网卡同时使用时是怎么样的模式
- 可不可能利用网盘的秒传功能使用伪造的MD5(或其他信息)值进行文件分享
- 为啥很多企业给用户发邮件会使用noreply/no-reply@xx.xx的邮箱
- win10激活的问题
- 全网通的mate8能不能插美国手机卡,在美国使用
- 汽车|首批200辆吉利新能源出租车在长交付使用,充电半小时电量可达80%
