天天看點

mybatis 模糊查詢_Java常見面試題整理(帶答案)——Mybatis

最近正在準備面試,網上查了許多的面試題,但是卻都很少有相關答案。是以特意在這裡整理一份題型以及我自己填充的部分答案,如果有錯誤,或者部分我不知道結果的題目,可以請大家私信或評論我調整。同時本内容也會不定期進行更新,為了友善檢索,會在前面先寫問題和問題序号,下面會再寫答案。其他相關内容spring、redis、資料庫等稍後會一一進行編寫。

侵删。

青藤門下走狗:Java常見面試題整理(帶答案)——基礎篇​zhuanlan.zhihu.com

mybatis 模糊查詢_Java常見面試題整理(帶答案)——Mybatis

青藤門下走狗:Java常見面試題整理(帶答案)——多線程​zhuanlan.zhihu.com

mybatis 模糊查詢_Java常見面試題整理(帶答案)——Mybatis

青藤門下走狗:Java常見面試題整理(帶答案)——spring​zhuanlan.zhihu.com

mybatis 模糊查詢_Java常見面試題整理(帶答案)——Mybatis
Mybatis問題
  1. 什麼是Mybatis
  2. Mybatis優缺點
  3. Mybatis适用場景
  4. Mybatis與Hibernate差別
  5. #{}和${}差別
  6. 模糊查詢
  7. dao接口的工作原理
  8. 如何給sql傳遞多個參數
  9. 動态sql标簽有哪些
  10. xml中常見标簽
  11. 一對一,一對多的關聯查詢
Mybatis答案

1.什麼是Mybatis

Mybatis是一個半ORM架構,内部封裝了JDBC,開發時隻需關注SQL語句本身。程式員直接編寫原生态SQL,嚴格控制SQL執行性能,靈活性高。

2.Mybatis優缺點

優點:

(1)可以編寫原生SQL,嚴格控制SQL執行性能,靈活性高。

(2)SQL語句解除與代碼的耦合,便于統一管理。

(3)可編寫動态SQL,可以重複引用同一段SQL

(4)内部使用JDBC連接配接資料庫,理論上隻要是JDBC支援的資料庫,Mybatis都支援。

(5)減少了JDBC繁瑣的程式代碼,全部交由内部封裝。

(6)提供标簽映射,支援對象與資料庫表的字段映射。

缺點:

(1)SQL語句編寫量大,對開發人員SQL功底有一定要求

(2)由于使用原生态SQL,是以與資料庫綁定,如果切換資料庫,可能存在問題。

3.Mybatis适用場景

Mybatis特點在于原生SQL,是以可以用在對性能要求比較高的地方。比如網際網路行業。

4.Mybatis與Hibernate差別

(1)Hibernate是一個完全的ORM架構,對象與資料庫表的映射一一對應,通過對象來操作資料庫表的資料。減少了許多的SQL語句編寫。

(2)Mybatis是一個半ORM架構,支援對象與資料庫表的映射(但不如Hibernate那樣全面與功能強大),同時也支援原生态SQL的編寫,可以嚴格控制SQL性能。

5.#{}和${}差別

#{}:預編譯處理,會将參數部分轉換為"?",再通過PreparedStatement的set方法來指派。

${}:字元串替換,隻會将傳入的參數替換${}位置。可能會存在SQL注入問題。

6.模糊查詢

參數拼接:在參數傳入前,通過Java代碼為其添加'%'。如String str = param + "%";

SQL拼接:在SQL語句中,拼接字元串後再執行like。如where name like 'yang' || '%'

标簽拼接:在xml标簽中為參數添加'%',再将标簽ID傳入SQL語句中。

7.dao接口如何與xml資料配置。

每一個xml檔案的<mapper>标簽中都有一個namespace屬性,這裡配置接口的全限定名。通過這個屬性可以找到xml檔案對應的接口類是哪一個。然後再通過<select>、<update>、<insert>、<delete>這四種标簽的ID屬性,找到對應的接口方法(由于xml檔案是通過id與接口方法來比對确定sql語句對應的方法。是以在Mybatis的配置接口中,不能存在方法重載)。

實際上上面的四種标簽裡的sql會被解析為一個MapperStatement對象。Myabtis通過JDK的動态代理技術對接口方法進行代理,如果程式調用相關的接口方法,會轉為執行對應MapperStatement中的SQL語句,并傳回執行結果。

8.如何給sql傳遞多個參數

傳入一個對象:在sql中可以指定對象的屬性來進行配置。

傳入多個方法參數:通過@param注解來配置每一個參數的别名,也可以指定參數下标。

9.動态sql标簽有哪些

<where>、<set>、<foreach>、<if>、<choose>、<when>、<otherwise>、<bind>、<trim>

10.xml中常見标簽

<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>等。

11.一對一,一對多的關聯查詢

太晚了,明天補充完整。

https://blog.csdn.net/a745233700/article/details/80977133

上一篇: 許願牆程式
下一篇: 許願牆效果

繼續閱讀