簡體   English   中英

如何在HikariCP中使用sqlite用戶功能api?

[英]How can I use sqlite user function api with HikariCP?

我正在使用mybatis / hikaricp訪問sqlite數據庫。

該數據庫使用sqlite用戶功能來擴展數據庫功能(通過更新觸發器)

使用以下功能,un sqlite jdbc驅動程序可能如下:

Connection connection = DriverManager.getConnection("jdbc:sqlite:" + databasePath);
Function.create(connection, "title_sort", new Function()
{
    @Override
    protected void xFunc() throws SQLException
    {
        result(value_text(0));
    }
});

如您所見,我們必須使用sqlite drivermanager,它將返回圍繞JDBC4Connection(圍繞實現java.sql.Connection的JDBC3Connection)的SQLiteConnection包裝器。

Function.create函數如下檢查連接實例:

if (conn == null || !(conn instanceof SQLiteConnection))
{
    throw new SQLException("connection must be to an SQLite db");
}

所以這是我的問題:我該如何在hikaricp中使用此api?

像這樣:

Connection conn = hikariDataSource.getConnection();
Function.create(connection.unwrap(SQLiteConnection.class),
                "title_sort",
                new Function() {
                   @Override
                   protected void xFunc() throws SQLException {
                      result(value_text(0));
                   }
                }
);

關鍵部分是connection.unwrap(SQLiteConnection.class)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM