m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

DB

PrismaでDBのhasOneを試す

前の記事 m-shige1979.hatenablog.com 今回 外部キーの定義って 後付けや変更ができないのかな? 普段SQLを使うことが多かったので今回prisma migrate devでエラーでできないから分かっていない・・・ 設定したもの prisma/schema.prisma // This is your Pr…

PrismaでDBのhasOneを試す

Prisma www.prisma.io hasOneについて 2つのテーブルが1対1、または0の関係のリレーショナル構造のこと イメージ Prismaでの定義の方法 prisma/schema.prisma // ユーザーデータ管理用 model User { // ID id Int @id @default(autoincrement()) // メール…

Typescriptで動作するDBのマイグレーションツールPrismaを触ってみた

Prisma www.prisma.io いくつかマイグレーションツール探していてなんか良いのがなかった 最悪、sqlでどうにかしようかなぁと思っていた。 お試し環境 node16のdockerコンテナ docker-compose version: "3" services: # backend backedn: # コンテナ名 conta…

doma2を使用したin句の条件設定

完全一致はあるけど 他の方法ってなかなか見つからないです IN句による条件指定 select * from keiyaku where name in ('tanaka', 'inoue') こんなやつ Dao KeiyakuDao.java package com.example.dao; import java.util.List; import org.seasar.doma.Dao; i…

doma2で部分一致検索を行う

Doma2で部分一致検索する際 %とかを任意で設定するのは止めたい 組み込み関数を使う 名前 関数名 例 前方一致 prefix where name like /* @prefix(name) */'smith' 後方一致 suffix where name like /* @suffix(name) */'smith' 前方後方一致 infix where na…

doma2で複数のテーブルを結合した結果を取得する

Javaのオブジェクト指向はなんか難しく感じる 永続化とかなんかもう少しわかりやすい表現ないかな… 複数のテーブルを連結したい 1つのテーブルの取得はできるけど複数テーブルの場合はどうするか確認 コレクト検索とかストリーム検索とかわからん DDL drop …

doma2で抽出件数を取得

マニュアルみたけど CollectとかStreamの使い方がよく分からない(´・ω・`) コード読んで理解しろってことかな… DDL drop table if exists item; create table if not exists item ( id bigint not null auto_increment, name varchar(255) not null, price …

MySQLのDATETIMEやTIMESTAMPでミリ秒などを設定したい

環境 MySQL5.7での確認 こんな感じの定義の場合 drop table if exists sample1; create table if not exists sample1( id bigint not null auto_increment, date1 datetime not null, date2 timestame not null, primary key(id) ); ↓ insert into sample1(d…

doma2のsql文調査

SQL文の複合条件とか気になるので調べる SELECT、INSERT、UPDATEらへんの挙動 SELECT 基本的にはSQLを作らなければならない 基本形 @Select List<Item> findAll();※@Selectアノテーションを付けたものが対象となります。↓対応するSQL select /*%expand*/* from ite</item>…

doma2によるデータの抽出を試す

この前は自動生成しかしていないので 自動生成なしで準備して見る 環境 Mac eclipse ライブラリ doma2 mysql 準備 Javaプロジェクトを準備し、ライブラリを設定しておく プロジェクトのプロパティより注釈処理を有効にしておく ファクトリーパスにdoma2のjar…

Doma2のgenで自動生成を行う

Doma2 ORマッパーらしい SQLファイルとか書いてなんかできるらしいよ 今回やること Doma2でDBを参照していい感じのエンティティとかを作成できるらしいので準備して見る。 環境 eclipse mysql ライブラリ doma2 doma2-gen freemarker mysl 設定 プロジェクト…

Spring Bootでデータベースに接続

そろそろDB Javaって他の言語より導入が面倒な部分が感じられるのでなかなか進まない 環境 Spring Boot 1.4 MySQL 5.x ※MySQLはvagrantに配置して接続してみる DB設定 DDL作成 create table if not exists memo ( id int not null auto_increment, name varc…

vagrant上に Redisをインストールする

Redis キーバリュー型のNoSQLデータベースらしいMongoDBとかちょっと違う感じのやつ 環境 vagrant上のCentOS7 インストール epelインストール sudo yum -y install epel-release redisインストール sudo yum -y install redis バージョン確認 $ redis-cli -v…

MySQL5.7をvagrant上のCentOS7へインストール

Mac上にはDBなどはインストールしたくない perlとかの言語系はともかく、DBはクライアントだけならいけど本体はいらん インストールするもの MySQL5.7.x インストールする場所 mac上のvagrantのCentOS7.x インストール sudo yum -y localinstall http://dev.…