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