更新時間:2022年03月04日13時47分 來源:傳智教育 瀏覽次數(shù):
ReslSetHandler接口用于處理ResultSet結(jié)果集,它可以將結(jié)果集中的數(shù)據(jù)轉(zhuǎn)為不同的形式。根據(jù)結(jié)果集中數(shù)據(jù)類型的不同,ResultSetHandler提供了不同的實現(xiàn)類,具體如下。
(1) AbstractKeyedHandler:該類為抽象類,能夠把結(jié)果集里面的數(shù)據(jù)轉(zhuǎn)換為用Map存儲。
(2)AbstractListHandler:該類為抽象類,能夠把結(jié)果集里面的數(shù)據(jù)轉(zhuǎn)換為用List存儲。
(3) ArrayHandler:把結(jié)果集中的第一行數(shù)據(jù)轉(zhuǎn)成對象數(shù)組。
(4) ArrayListHandler:把結(jié)果集中的每一行數(shù)據(jù)都轉(zhuǎn)成一個對象數(shù)組,再將數(shù)組存放到List中。
(5) BaseResultSetHandler:把結(jié)果集轉(zhuǎn)換成其他對象的擴展。
(6) BeanHandler:將結(jié)果集中的第一行數(shù)據(jù)封裝到一個對應(yīng)的JavaBean實例中。
(7) BeanListHandler:將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個對應(yīng)的JavaBean實例中,存放到List里。
(8) BeanMapHandler:將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個對應(yīng)的JavaBean實例中,然后再根據(jù)指定的key把每個JavaBean再存放到一個Map里。
(9) ColumnListHandler:將結(jié)果集中某一列的數(shù)據(jù)存放到List中。
(10) KeyedHandler:將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個Map里,然后再根據(jù)指的定的key把每個Map再存放到一個Map里。
(11) MapHandler:將結(jié)果集中的第一行數(shù)據(jù)封裝到一個Map里,key是列名,value就是對應(yīng)的值。
(12) MapLisHandler:將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個Map里,然后再存放到list中。
(13) ScalarHandler:將結(jié)果集中某-條記錄的其中某一列的數(shù)據(jù)存儲成Object對象。
另外,在ResultSetHandler接口中,提供了一個單獨的方法handle(java.sql.ResultSetrs),如果上述實現(xiàn)類沒有提供想要的功能,可以通過自定義一個實現(xiàn)ResultSetHandler接口的類,然后通過重寫handle()方法,實現(xiàn)結(jié)果集的處理。