我在這裏的服務代碼爲什麼列表<generic>不適用於Java的mybatis?
public HashMap<String, Object> syncEmployees(Long updatedAt, String userId) {
HashMap<String, Object> outputMap = new LinkedHashMap<String, Object>();
**List<String>** outputEmployee = employeeDao.getEmployeeSyncDetails(updatedAt);
System.out.println("\n\n Size : "+outputEmployee.size()+"\nOutput : "+outputEmployee);
outputMap.put("employee", outputEmployee);
return outputMap;
}
道碼是返回類型爲字符串名單列表(字符串)
**List<String>** getEmployeeSyncDetails(@Param("updatedAt") long updatedAt);
.XML映射器和查詢,其中方法返回xyzModel
的 名單<resultMap id="xyzmap" type="xyzModel" >
<result property="userId" column="user_id" />
<result property="employeeCode" column="employee_code" />
<result property="designationId" column="designation_id" />
</resultMap>
<select id="getxyzDetails" resultMap="xyzmap">
SELECT
user_id, ua.employee_code, designation_id
FROM users
WHERE updated_at > #{updatedAt}
ORDER BY updated_at ASC
</select>
並且輸出像 尺寸:3 輸出:[com.webapp.models。 xyzModel @ 1567524c,com.webapp.models。 xyzModel @ 7744c2cd,com.webapp.models。 xyzModel @ 43515de7]
我的問題是它是如何工作的?如何xyzmodel在字符串 的名單得到填充其實我的問題是XML映射回xyzModel但如果我寫的其他型號一樣的usermodel或字符串或任何其他模型,可以不顯示任何錯誤或正確的輸出完美的執行。如果我們處理這個列表,那麼只有他發送錯誤java.lang.ClassCastException
看起來像你對我還沒有覆蓋xyzModel'的'了'的toString()'方法。你的'List'中的每個元素都是調用''xyzModel''實例上'Object'提供的'toString()'實現的結果。該列表實際上不包含這些實例。 – JonK
其實我的問題是XML映射回xyzModel但如果我寫的其他型號一樣的用戶或字符串或其他公司沒有顯示任何錯誤或正確的輸出完全執行反對票。如果我們處理此列表中,則只有他發送錯誤 –
覆蓋toSting方法 –