1.ORM
ORM的全稱是Object Relational Mapping,即物件關系映射,
描述的是物件和表之間的映射,操作Java物件,通過映射關系,就可以自動操作資料庫,
在ORM關系中,資料庫表對應Java中的類,一條記錄對應一個物件,一個屬性對應一個列,
2.Mybatis的#{}和${}的區別?
1.#{}實作的是sql陳述句的預處理引數,之后再sql中用?號代替,使用時不需要關注資料型別,Mybatis自動實作資料型別的轉換,并且可以防止SQL注入;
2.${}實作的是sql陳述句的直接拼接,不做資料型別轉換,需要自行判斷資料型別,不能防止SQL注入;
總結:#{}占位符,用于引數傳遞; ${}用于SQL拼接
3. 使用Mybatis程序中當物體類中的屬性名和表中的欄位名不一樣 ,怎么解決?
1.通過在查詢陳述句定義欄位名的別名,比如欄位名的別名和物體類的屬性名一致,
2.使用通用Mapper時,可以通過@Column注解設定
3.如果進行自定義查詢,可以通過@Result進行設定
4.模糊查詢like陳述句該怎么寫?
1.使用通用Mapper的Criteria進行like陳述句的拼湊
2.使用#{}占位符方式,引數前后拼湊%
5.撰寫了一個Dao介面,提供需要的方法,在方法添加對應的注解就可以完成對應的功能,作業原理是什么?
Dao介面在使用時,MyBatis創建介面對應的代理類,
在呼叫對應的方法時,執行的是代理類對應的方法,
代理類的方法上添加的注解完成增刪改查的操作,如果是查詢將結果封裝到方法回傳值型別宣告的物件中,
6.使用Mybatis時Dao介面里的方法能多載嗎?
不能,因為全限定名+方法名的必須唯一,、
7.Mybatis是如何進行分頁的?
使用第三方分頁助手:PageHelper
使用方式:
在將要執行查詢sql陳述句之前使用分頁助手:PageHelper.startPage(pageNum:頁碼, pageSize:每頁顯示數量);
目錄
1.ORM
2.Mybatis的#{}和${}的區別?
3. 使用Mybatis程序中當物體類中的屬性名和表中的欄位名不一樣 ,怎么解決?
4.模糊查詢like陳述句該怎么寫?
5.撰寫了一個Dao介面,提供需要的方法,在方法添加對應的注解就可以完成對應的功能,作業原理是什么?
6.使用Mybatis時Dao介面里的方法能多載嗎?
7.Mybatis是如何進行分頁的?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/116419.html
標籤:其他
