OSS探訪GitHubでログイン

database/sql互換を保ったままStructScan・Named Queryを追加するGo DB拡張

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
17,743
主要言語
Go
ライセンス
MIT
リポジトリ最終更新
2024/08/15
ページ内ナビ

概要

sqlxはGo標準database/sqlを拡張するlibraryです。sql.DB・sql.Tx等の基本interfaceを保ちながら、rowからstruct/map/sliceへのscan、Named parameter、Get・Select等のhelperを追加し、SQL中心のdata accessのBoilerplateを減らします。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

database/sqlの上位互換wrapperとして既存codeへ段階導入する

sqlx.DB、sqlx.Tx、sqlx.Stmt等は標準typeの機能を保ちながらhelperを追加するため、既存のdatabase/sql codeやdriverを大きく変えず導入できます。

出典:[2]

StructScan・Named Query・Get/Selectでrow mappingを短くする

query結果をembedded structを含むstruct、map、sliceへscanし、named parameterやprepared named statement、1件取得のGet、複数件取得のSelectを利用できます。

出典:[2]

向いている用途

ORMを入れずSQLを明示したままscan処理だけ簡略化したいbackendに向く

SQLやtransactionをapplicationで管理しつつ、row mappingとparameter bindingの記述量を減らしたいAPI、batch、業務serviceに適します。

出典:[2]

導入前の確認

v1.4.0のgo.modはGo 1.10。READMEは新規変更で直近2 Go version互換を要求する

v1.4.0のgo.modはGo 1.10を宣言しますが、READMEでは新しい変更について直近2 versionのGo互換を要件としています。実際のsupport範囲は利用toolchainとDB driverを組み合わせてCIで確認してください。またduplicate column名はStructScan/map destinationで曖昧になるため、JOINではASでcolumn aliasを付けるのが安全です。

出典:[3][2][4]

参考にした公式資料

  1. [1]jmoiron/sqlx — GitHub repository(2026-10-06)
  2. [2]sqlx v1.4.0 — README(2026-10-06)
  3. [3]sqlx v1.4.0 — go.mod(2026-10-06)
  4. [4]sqlx v1.4.0 release(2026-10-06)
  5. [5]sqlx MIT license(2026-10-06)
編集部からの補足

標準database/sqlのinterfaceを維持したまま便利なscan/query APIを追加できるため、ORMほど大きな抽象化を入れずBoilerplateを減らしたい場合に向きます。SQL自体の設計やtransaction境界はapplication側で明示的に管理します。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/jmoiron/sqlx.git
  2. 2

    リポジトリへ移動

    cd sqlx
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近30日

17,743 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
78

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
17,743
Forks
1,119
Watchers
194
Open Issues
318
Contributors
76
所有者種別
User
主要言語
Go
ライセンス
MIT
リポジトリ最終更新
2024/08/15

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
sqlx v1.4.0とは?Go database/sql拡張 | OSS探訪