mybatis回傳值用什麼接?要看回傳的是什麼資料,一般常見的有:
一、傳回一般資料型別
例如要根據id 屬性取得資料庫中的某個欄位值。
mapper 介面:
// 根据 id 获得数据库中的 username 字段的值 String getEmpNameById(Integer id);
SQL 映射檔:
<!-- 指定 resultType 返回值类型时 String 类型的, string 在这里是一个别名,代表的是 java.lang.String 对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别名是 'hashmap' 基本数据类型考虑到重复的问题,会在其前面加上 '_',比如 byte 对应的别名是 '_byte' --> <select id="getEmpNameById" resultType="string"> select username from t_employee where id = #{id} </select>
二、傳回JavaBean 類型
例如根據某個欄位取得資料庫中的信息,把查詢的結果資訊封裝成某個JavaBean 類型的資料。
mapper 介面:
// 根据 id 查询信息,并把信息封装成 Employee 对象 Employee getEmpById(Integer id);
SQL 映射檔:
<!-- 通过 resultType 指定查询的结果是 Employee 类型的数据 只需要指定 resultType 的类型,MyBatis 会自动将查询的结果映射成 JavaBean 中的属性 --> <select id="getEmpById" resultType="employee"> select * from t_employee where id = #{id} </select>
三、回傳List類型
有時候我們要查詢的數據不只一條,例如:模糊查詢,全表查詢等,這時候回傳的數據可能不只一條數據,對於多數據的處理可以存放在List集合中。
mapper 介面:
// 假如是全表查询数据,将查询的数据封装成 Employee 类型的集合 List<Employee> getAllEmps();
SQL 映射檔:
<!-- 注意这里的 resultType 返回值类型是集合内存储数据的类型,不是 'list' --> <select id="getAllEmps" resultType="employee"> select * from t_employee </select>
四、傳回Map類型
MyBatis 也支援將查詢的資料封裝成Map。
1. 如果查詢的結果是一條,我們可以把查詢的資料以{表格欄位名, 對應的值}方式存入Map。
mapper 介面:
// 根据 id 查询信息,并把结果信息封装成 Map Map<String, Object> getEmpAsMapById(Integer id);
SQL 映射檔:
<!-- 注意这里的 resultType 返回值类型是 'map' --> <select id="getEmpAsMapById" resultType="map"> select * from t_employee where id = #{id} </select>
以上是mybatis傳回值用什麼接的詳細內容。更多資訊請關注PHP中文網其他相關文章!