mybatis進擊六 mybatis的物件管理體系

2021-10-23 07:00:05 字數 903 閱讀 5073

目錄

一、結構化資料轉換成bean

二、mybatis的物件結構

三、應用

mybatis是如何將查詢到的資料自動轉換成物件呢?

1、可以使用利用map 或 json字串,橋接著轉成bean物件

2、利用反射 newinstance ,然後一一賦值

mybatis不是簡單的使用反射初始化,而是進行了精心設計

2、考慮效能,定義了getfieldinvoker、setfieldinvoker,進行invoker的首次初始化

3、考慮使用的便捷性,定義了propertytokenizer,方便操作物件屬性,如 ```delegate.boundsql.parameterobject```  ,通過這種模式,可以直接獲取到物件parameterobject屬性

1、獲取物件屬性

statementhandler statementhandler = (statementhandler) invocation.gettarget();

object parameterobject = metastatementhandler.getvalue("delegate.boundsql.parameterobject");

dosplittable(metastatementhandler,parameterobject);

2、解析resultset,並對新物件初始化

mybatis進擊四 原始SQL查詢

目錄 一 原始sql查詢 二 缺點 public static void main string args throws classnotfoundexception,sqlexception private static void print resultset resultset throws ...

Mybatis框架(六)Mybatis的配置別名

在我們以前的mybatis中引用pojo常常用以下方式 xml version 1.0 encoding utf 8 select 查詢語句 查詢學生的全部資訊 getstulist resulttype com.wst.pojo.stu select from stu select 根據學生id查...

Mybatis(六)引數處理

在下面的語句中,如果 username 的值為 zhangsan,則兩種方式無任何區別 select from user where name select from user where name 其解析之後的結果均為 select from user where name zhangsan 但是...