最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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面試題的評論 (共 條)

分享到微博請遵守國家法律
岑溪市| 灌阳县| 宜君县| 山丹县| 邢台市| 游戏| 通州市| 永州市| 佛冈县| 隆昌县| 四川省| 应城市| 南昌市| 库伦旗| 天门市| 尤溪县| 乾安县| 济南市| 启东市| 巴中市| 临朐县| 天镇县| 吉安县| 汾西县| 肇源县| 和政县| 沙洋县| 盈江县| 巩义市| 吉木萨尔县| 德化县| 岫岩| 京山县| 四川省| 介休市| 化隆| 潍坊市| 泰州市| 资中县| 汉源县| 峨山|