无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

分享到微博請遵守國家法律
日喀则市| 塘沽区| 布拖县| 农安县| 潞城市| 手游| 六盘水市| 杭锦后旗| 科尔| 博爱县| 分宜县| 芦溪县| 呼图壁县| 墨玉县| 壶关县| 西林县| 江油市| 洪雅县| 古蔺县| 广宁县| 茶陵县| 柘城县| 安徽省| 嘉善县| 临汾市| 无棣县| 霞浦县| 襄垣县| 阿巴嘎旗| 南靖县| 仙居县| 二连浩特市| 临武县| 乌恰县| 涪陵区| 彭泽县| 扶余县| 盐津县| 福安市| 基隆市| 乐安县|