問(wèn)題: MyBatis與hibernate有哪些不同 ? 1)Mybatis MyBatis 是支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射的一種持久層框架。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。Mybatis它不完全是一個(gè)ORM(對(duì)象關(guān)系映射)框架;它需要程序員自己編寫(xiě)部分SQL語(yǔ)句。 mybatis可以通過(guò)xml或者注解的方式靈活的配置要運(yùn)行的SQL語(yǔ)句,并將java對(duì)象和SQL語(yǔ)句映射生成最終的執(zhí)行的SQL,最后將SQL執(zhí)行的結(jié)果在映射生成java對(duì)象。 Mybatis程序員可以直接的編寫(xiě)原生態(tài)的SQL語(yǔ)句,可以控制SQL執(zhí)行性能,靈活度高,適合軟件需求變換頻繁的企業(yè)。 缺點(diǎn):Mybatis無(wú)法做到數(shù)據(jù)庫(kù)無(wú)關(guān)性,如果需要實(shí)現(xiàn)支持多種數(shù)據(jù)庫(kù)的軟件,則需要自定義多套SQL映射文件,工作量大。 2) Hibernate Hibernate是支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射的一種持久層框架。 Hibernate對(duì)象-關(guān)系映射能力強(qiáng),數(shù)據(jù)庫(kù)的無(wú)關(guān)性好,Hirberate可以自動(dòng)生成SQL語(yǔ)句,對(duì)于關(guān)系模型要求高的軟件,如果用HIrbernate開(kāi)發(fā)可以節(jié)省很多時(shí)間。
更多建議: