JAVA SE使用DBUtils資料查詢(使用BeanListHandler)

DBUtils資料查詢範例(使用BeanListHandler)

前言

使用DBUtils查詢多筆資料可使用BeanListHandler,自動將資料封裝成List物件。

實作

以下進行簡單的示範。

Java程式碼

DBUtilsSelectByBeanListHandlerDemo.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package tw.url.openjry;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import tw.url.openjry.bean.Blog;
import tw.url.openjry.conf.DataSourceConf;

/**
 * DBUtils 資料查詢 (使用 BeanListHandler)
 *
 * @author Art Yang
 *
 */
public class DBUtilsSelectByBeanListHandlerDemo {

    /**
     * <p>主程式方法</p>
     * <p>使用 BeanListHandler 進行資料查詢會返回指定封裝好的 Bean List</p>
     *
     * @param args 外部參數
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        String sqlStmt = "select * from blog";

        QueryRunner queryRunner = new QueryRunner(DataSourceConf.getDataSource());
        List<Blog> listBlogs = queryRunner.query(sqlStmt, new BeanListHandler<>(Blog.class));

        listBlogs.forEach(System.out::println);
    }

}

執行結果

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Blog [blogSeqNo=1, blogName=楊藝的洋溢生活, author=ArtYang, remark=生活記事、系統管理、程式設計、資料庫, createdTime=2019-05-01 13:40:57.0, updatedTime=null]
Blog [blogSeqNo=2, blogName=楊藝的洋溢生活_0, author=ArtYang_0, remark=生活記事、系統管理、程式設計、資料庫_0, createdTime=2019-05-01 13:41:38.0, updatedTime=null]
Blog [blogSeqNo=3, blogName=楊藝的洋溢生活_1, author=ArtYang_1, remark=生活記事、系統管理、程式設計、資料庫_1, createdTime=2019-05-01 13:41:38.0, updatedTime=null]
Blog [blogSeqNo=4, blogName=楊藝的洋溢生活_2, author=ArtYang_2, remark=生活記事、系統管理、程式設計、資料庫_2, createdTime=2019-05-01 13:41:38.0, updatedTime=null]
Blog [blogSeqNo=5, blogName=楊藝的洋溢生活_3, author=ArtYang_3, remark=生活記事、系統管理、程式設計、資料庫_3, createdTime=2019-05-01 13:41:38.0, updatedTime=null]
Blog [blogSeqNo=6, blogName=楊藝的洋溢生活_4, author=ArtYang_4, remark=生活記事、系統管理、程式設計、資料庫_4, createdTime=2019-05-01 13:41:38.0, updatedTime=null]
Blog [blogSeqNo=7, blogName=楊藝的洋溢生活_5, author=ArtYang_5, remark=生活記事、系統管理、程式設計、資料庫_5, createdTime=2019-05-01 13:41:38.0, updatedTime=null]
Blog [blogSeqNo=8, blogName=楊藝的洋溢生活_6, author=ArtYang_6, remark=生活記事、系統管理、程式設計、資料庫_6, createdTime=2019-05-01 13:41:39.0, updatedTime=null]
Blog [blogSeqNo=9, blogName=楊藝的洋溢生活_7, author=ArtYang_7, remark=生活記事、系統管理、程式設計、資料庫_7, createdTime=2019-05-01 13:41:39.0, updatedTime=null]
Blog [blogSeqNo=10, blogName=楊藝的洋溢生活_8, author=ArtYang_8, remark=生活記事、系統管理、程式設計、資料庫_8, createdTime=2019-05-01 13:41:39.0, updatedTime=null]
Blog [blogSeqNo=11, blogName=楊藝的洋溢生活_9, author=ArtYang_9, remark=生活記事、系統管理、程式設計、資料庫_9, createdTime=2019-05-01 13:41:39.0, updatedTime=null]