mybatis是如何將sql執行結果封裝為目標對象并返回的?
${}是Properties文件中的變量占位符,它可以用于標簽屬性值和sql內部,屬于靜態文本替換,比如${driver}會被靜態替換為com.MySQL.jdbc.Driver。#{}是sql的參數占位符,mybatis會將sql中的#{}替換為?號,在sql執行前會使用PreparedStatement的參數設置方法,按序給sql的?號占位符設置參數值,比如ps.setInt(0,parameterValue),#{item.name}的取值方式為使用反射從參數對象中獲取item對象的name屬性值,相當于param.getItem().getName()。