View
View モデルは、データベースエンティティを Go の構造体にマッピングするためのものです。
基本的な使い方
View モデルを作成するには、NewView()
関数を使用します:
type User struct {
ID int
Name string
Email string
}
var userView = psql.NewView[User]("public", "users")
メソッド
View モデルには以下のメソッドが利用できます:
Name()
テーブルの名前を返します。
NameAs()
テーブルの名前をエイリアス付きで返します。
Columns()
テーブルのカラム情報を返します。
Query()
クエリを構築するためのメソッドです。以下のようなクエリメソッドが利用できます:
Query()
- 基本的なクエリの構築One()
- 単一の結果を取得All()
- 複数の結果を取得Cursor()
- カーソルを使用した効率的な処理Count()
- レコード数を取得Exists()
- レコードの存在確認
使用例
// 単一のユーザーを取得
user, err := userView.Query().
Where(psql.Quote("id").EQ(psql.Arg(1))).
One(ctx, db)
// 複数のユーザーを取得
users, err := userView.Query().
Where(psql.Quote("active").EQ(psql.Arg(true))).
All(ctx, db)
// ユーザー数を取得
count, err := userView.Query().
Where(psql.Quote("active").EQ(psql.Arg(true))).
Count(ctx, db)
// ユーザーの存在確認
exists, err := userView.Query().
Where(psql.Quote("email").EQ(psql.Arg("user@example.com"))).
Exists(ctx, db)
Tips
- 複数のスキーマを扱う場合は、
NewViewx()
を使用してスキーマを指定できます - View モデルは読み取り専用で、挿入、更新、削除の操作はサポートしていません
- クエリメソッドは型安全で、コンパイル時にエラーをキャッチできます