五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MyBatis面試題

2022-03-31 19:51 作者:吾之利劍  | 我要投稿

1、MyBatis優(yōu)缺點;

????優(yōu)點:

????????1、與JDBC相比,減少了50%以上的代碼量。

????????2、MyBatis是最簡單的持久化框架,小巧并且簡單易學(xué)。

????????3、MyBatis靈活,不會對應(yīng)用程序或者數(shù)據(jù)庫的現(xiàn)有設(shè)計強加任何影響,SQL寫在XML里,從程序代碼中徹底分離,降低耦合度,便于統(tǒng)一管理和優(yōu)化,可重用。

????????4、提供XML標(biāo)簽,支持編寫動態(tài)SQL語句(XML中使用if, else)。

????????5、提供映射標(biāo)簽,支持對象與數(shù)據(jù)庫的ORM字段關(guān)系映射(在XML中配置映射關(guān)系,也可以使用注解)。

????缺點:

????????1、SQL語句的編寫工作量較大,尤其是字段多、關(guān)聯(lián)表多時,更是如此,對開發(fā)人員編寫SQL語句的功底有一定要求。

????????2、SQL語句依賴于數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)庫移植性差,不能隨意更換數(shù)據(jù)庫。

2、簡述一下MyBatis執(zhí)行一個SQL的過程(編程步驟);

????1、創(chuàng)建SqlSessionFactory 會話工廠

????2、通過SqlSessionFactory 創(chuàng)建SqlSession

????3、通過sqlsession執(zhí)行數(shù)據(jù)庫操作

????4、調(diào)用session.commit()提交事務(wù)

????5、調(diào)用session.close()關(guān)閉會話

可能會問你JDBC的流程:

????????1、注冊驅(qū)動 (僅僅做一次)

  2、建立連接(Connection)

  3、創(chuàng)建運行SQL的語句(Statement)

  4、運行語句

  5、處理運行結(jié)果(ResultSet)

  6、釋放資源

3、MyBatis與Hibernate有哪些不同;

????1、Mybatis是半自動ORM框架,sql需要自己寫在xml里面,靈活性高。

????2、Hibernate是全自動ORM框架,不需要自己寫sql語句,代碼簡便,數(shù)據(jù)庫可移植性高(換數(shù)據(jù)庫影響?。?。


4、#{} 和${}的區(qū)別是什么;

${}是字符串替換,#{} 是預(yù)編譯處理可以防止SQL注入;一般傳參盡量使用#{} ;


5、MyBatis中如何批量更新或插入數(shù)據(jù);


? 一般工作中是在XML里面mybatis的<foreach>標(biāo)簽循環(huán)遍歷


6、說一下MyBatis的緩存;

????1、一級緩存: 基于 PerpetualCache 的 HashMap 本地緩存,其存儲作用域為 Session,當(dāng) Session flush 或 close 之后,該 Session 中的所有 Cache 就將清空,默認打開一級緩存。

????2、二級緩存與一級緩存其機制相同,默認也是采用 PerpetualCache,HashMap 存儲,不同在于其存儲作用域為 Mapper(Namespace),并且可自定義存儲源,如 Ehcache。默認不打開二級緩存,要開啟二級緩存,使用二級緩存屬性類需要實現(xiàn)Serializable序列化接口(可用來保存對象的狀態(tài)),可在它的映射文件中配置 ;

以上內(nèi)容僅供參考,請可以合理利用搜索引擎!




MyBatis面試題的評論 (共 條)

分享到微博請遵守國家法律
松溪县| 张家口市| 本溪市| 福鼎市| 剑川县| 忻州市| 九寨沟县| 七台河市| 云阳县| 康乐县| 武隆县| 镇坪县| 定州市| 都昌县| 乐清市| 嘉荫县| 东乌珠穆沁旗| 尤溪县| 兴仁县| 无棣县| 邳州市| 栖霞市| 昌乐县| 大理市| 武强县| 东莞市| 兴山县| 磐石市| 高雄县| 青铜峡市| 清原| 喀什市| 茌平县| 浦东新区| 方城县| 库伦旗| 泾川县| 嘉禾县| 伊通| 潞城市| 道孚县|