Submit Search
Upload
SpringBootによるDB更新
•
0 likes
•
233 views
iPride Co., Ltd.
Follow
2022/06/03の勉強会で発表されたものです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
Nobuhiro Nakayama
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
Resilience Engineering on Kubernetes
Resilience Engineering on Kubernetes
Toru Makabe
初心者だった私がSpring(DIコンテナ)を分かるまで
初心者だった私がSpring(DIコンテナ)を分かるまで
英雅 田村
システムダウンのひみつ
システムダウンのひみつ
Yoshitaka Kawashima
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
Recommended
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
Nobuhiro Nakayama
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
Resilience Engineering on Kubernetes
Resilience Engineering on Kubernetes
Toru Makabe
初心者だった私がSpring(DIコンテナ)を分かるまで
初心者だった私がSpring(DIコンテナ)を分かるまで
英雅 田村
システムダウンのひみつ
システムダウンのひみつ
Yoshitaka Kawashima
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
Rakuten Group, Inc.
RDBでのツリー表現入門
RDBでのツリー表現入門
Kent Ohashi
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
Tackling Complexity
Tackling Complexity
Yoshitaka Kawashima
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
なべ
攻撃者の行動を追跡せよ -行動パターンに基づく横断的侵害の把握と調査- by 朝長 秀誠, 六田 佳祐
攻撃者の行動を追跡せよ -行動パターンに基づく横断的侵害の把握と調査- by 朝長 秀誠, 六田 佳祐
CODE BLUE
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報
Takuya Iwatsuka
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
イマドキ!ユースケース別に見るAWS IoT への接続パターン
イマドキ!ユースケース別に見るAWS IoT への接続パターン
seiichi arai
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
NTT DATA Technology & Innovation
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
Vue.jsでFormをAtomic Designしてみた時のコンポーネント間のデータのやりとり
Vue.jsでFormをAtomic Designしてみた時のコンポーネント間のデータのやりとり
Yuta Ohashi
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
Taiji INOUE
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
Takayuki Shimizukawa
HashiCorp Vault 紹介
HashiCorp Vault 紹介
hashicorpjp
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
Ryota Watabe
Spring bootでweb 基本編
Spring bootでweb 基本編
なべ
Mvc conf session_4_ono
Mvc conf session_4_ono
Hiroshi Okunushi
More Related Content
What's hot
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
Rakuten Group, Inc.
RDBでのツリー表現入門
RDBでのツリー表現入門
Kent Ohashi
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
Tackling Complexity
Tackling Complexity
Yoshitaka Kawashima
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
なべ
攻撃者の行動を追跡せよ -行動パターンに基づく横断的侵害の把握と調査- by 朝長 秀誠, 六田 佳祐
攻撃者の行動を追跡せよ -行動パターンに基づく横断的侵害の把握と調査- by 朝長 秀誠, 六田 佳祐
CODE BLUE
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報
Takuya Iwatsuka
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
イマドキ!ユースケース別に見るAWS IoT への接続パターン
イマドキ!ユースケース別に見るAWS IoT への接続パターン
seiichi arai
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
NTT DATA Technology & Innovation
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
Vue.jsでFormをAtomic Designしてみた時のコンポーネント間のデータのやりとり
Vue.jsでFormをAtomic Designしてみた時のコンポーネント間のデータのやりとり
Yuta Ohashi
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
Taiji INOUE
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
Takayuki Shimizukawa
HashiCorp Vault 紹介
HashiCorp Vault 紹介
hashicorpjp
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
Ryota Watabe
What's hot
(20)
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
RDBでのツリー表現入門
RDBでのツリー表現入門
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Tackling Complexity
Tackling Complexity
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
攻撃者の行動を追跡せよ -行動パターンに基づく横断的侵害の把握と調査- by 朝長 秀誠, 六田 佳祐
攻撃者の行動を追跡せよ -行動パターンに基づく横断的侵害の把握と調査- by 朝長 秀誠, 六田 佳祐
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
イマドキ!ユースケース別に見るAWS IoT への接続パターン
イマドキ!ユースケース別に見るAWS IoT への接続パターン
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Vue.jsでFormをAtomic Designしてみた時のコンポーネント間のデータのやりとり
Vue.jsでFormをAtomic Designしてみた時のコンポーネント間のデータのやりとり
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
HashiCorp Vault 紹介
HashiCorp Vault 紹介
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
Similar to SpringBootによるDB更新
Spring bootでweb 基本編
Spring bootでweb 基本編
なべ
Mvc conf session_4_ono
Mvc conf session_4_ono
Hiroshi Okunushi
20110607
20110607
小野 修司
20080524
20080524
小野 修司
HTML5最新動向
HTML5最新動向
Shumpei Shiraishi
G0042 h
G0042 h
silicone69
HTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろう
yoshikawa_t
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
Daizen Ikehara
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
kenjis
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
test slides 4
test slides 4
Yuichi Takahashi
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
HTML5&API総まくり
HTML5&API総まくり
Shumpei Shiraishi
Xamarin with Entity Framework Core
Xamarin with Entity Framework Core
Takeshi Fujimoto
20091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
20050917
20050917
小野 修司
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Kazumi IWANAGA
はじめてのCodeIgniter
はじめてのCodeIgniter
Yuya Matsushima
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
インフラジスティックス・ジャパン株式会社
Similar to SpringBootによるDB更新
(20)
Spring bootでweb 基本編
Spring bootでweb 基本編
Mvc conf session_4_ono
Mvc conf session_4_ono
20110607
20110607
20080524
20080524
HTML5最新動向
HTML5最新動向
G0042 h
G0042 h
HTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろう
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
test slides 4
test slides 4
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
HTML5&API総まくり
HTML5&API総まくり
Xamarin with Entity Framework Core
Xamarin with Entity Framework Core
20091030cakephphandson 01
20091030cakephphandson 01
20050917
20050917
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
はじめてのCodeIgniter
はじめてのCodeIgniter
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
More from iPride Co., Ltd.
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
iPride Co., Ltd.
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
iPride Co., Ltd.
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
iPride Co., Ltd.
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
iPride Co., Ltd.
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
iPride Co., Ltd.
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
iPride Co., Ltd.
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
iPride Co., Ltd.
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
iPride Co., Ltd.
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
iPride Co., Ltd.
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
iPride Co., Ltd.
ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強
iPride Co., Ltd.
OpenID Connectについて
OpenID Connectについて
iPride Co., Ltd.
画像生成AIの問題点
画像生成AIの問題点
iPride Co., Ltd.
AI入門
AI入門
iPride Co., Ltd.
MVCになぞらえて理解するReact
MVCになぞらえて理解するReact
iPride Co., Ltd.
AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~
iPride Co., Ltd.
OAuth2.0について
OAuth2.0について
iPride Co., Ltd.
More from iPride Co., Ltd.
(20)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強
OpenID Connectについて
OpenID Connectについて
画像生成AIの問題点
画像生成AIの問題点
AI入門
AI入門
MVCになぞらえて理解するReact
MVCになぞらえて理解するReact
AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~
OAuth2.0について
OAuth2.0について
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Recently uploaded
(7)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
SpringBootによるDB更新
1.
Nagai 2022/6/3 SpringBootによるDB更新
2.
目次 • 背景 • 更新機能実装 •
まとめ
3.
背景 • 備品管理システムを作成しています • 利用者、利用開始日、返却予定日といった利用情報を登録したい •
利用情報の入力フォームの作成 • 備品情報テーブルに利用情報を更新
4.
主要なファイル • MVCアーキテクチャに乗っ取る Entity 備品情報テーブル Repository Controller Template Htmlファイル 入力フォーム等画面表示 Entity ユーザーテーブル Repository Service 使いたい機能をメソッドとして定義 モデル コントローラー ビュー (サービス)
5.
Entity • Javaオブジェクトとしてレコードを テーブル内に保管しておく package ∼; import
∼; @Entity @Table(name = "equipmenttable") public class Equipment { /* ID */ @Id @GeneratedValue(strategy = GenerationType.AUTO) // 主キー @Column(name = "id") private String id; /* 購入日 */ @DateTimeFormat(pattern = "yyyy-MM-dd") @Column(name = "purchase_date") @PastOrPresent(message = "明日以降の日付は無効です") private Date purchaseDate; /* 途中省略 */ public String getId() { return id; } public void setId(String id) { this.id = id; } public Date getPurchaseDate() { return purchaseDate; } public void setPurchaseDate(Date purchaseDate) { this.purchaseDate = purchaseDate; }
6.
Repository • エンティティだけではデータベース アクセスはできない • リポジトリは汎用的なデータベース アクセスの処理を自動的に実装する package
jp.co.ipride.EquipmentManager.repositories; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import jp.co.ipride.EquipmentManager.entity.Equipment; @Repository public interface EquipmentRepository extends JpaRepository<Equipment, Long> { public Optional<Equipment> findById(String id); }
7.
Service • アプリケーション全体で呼び出せるようなメソッドを用いたい場合に サービスクラスにメソッドを定義する public class
EquipmentService { @Autowired private EquipmentRepository equipmentRepository; /*情報更新*/ public void editInfo(Equipment equipment) { equipmentRepository.saveAndFlush(equipment); } /*idによって指定されている備品情報を選択*/ public Optional<Equipment> selectById(String id) { return equipmentRepository.findById(id); }
8.
利用情報入力画面の表示
9.
コントローラー • mavが返してるのは Model…ユーザーの全データ(id と名前)、特定IDの備品データ View…テンプレートのuse.html @Controller public class
UseController { @Autowired private UserService userService; @Autowired private EquipmentService equipmentService; /*利用登録画面の表示*/ @RequestMapping(value = "/{id}/use") public ModelAndView use( @PathVariable String id, ModelAndView mav, @ModelAttribute("formEquipment") Equipment equipment) { List<User> userList = userService.getUserAll(); mav.addObject("userList",userList); Optional<Equipment> equipmentOpt = equipmentService.selectById(id); equipment = equipmentOpt.get(); mav.addObject("formEquipment", equipment); mav.setViewName("use"); return mav; }
10.
入力フォームテンプレート1 • <form action=
update > フォーム送信後/updateに遷移する • <input type= hidden th:value=*{id} 入力フォームに入力せずとも備品IDが 送信される • <select>でプルダウン <input type= date >でカレンダー入力 を実現 <body> <h1 th:text="${id} + 'の利用'"></h1> <form method="POST" th:object="${formEquipment}" th:action="update"> <input type="hidden" name="id" th:value=*{id} /> <p>利用者を選択してください。</p> <div class="container"> <select name="useUser" th:value=*{useUser}> <option th:each="user : ${userList}" th:value="${user.id}" th:text="${user.name}" > </option> </select> </div> <p>利用日を選択してください。</p> <input type="date" name="useDate" th:field=*{useDate}></input> <p>返却日を選択してください</p> <input type="date" name="returnDate" th:field=*{returnDate}></ input> <input type="submit" value="利用" /> </form> </body> </html>
11.
入力フォームテンプレート2 • th:eathで繰り返し ${userList}はコントローラーから 返された値を用いている 自動的に順番に取り出してくれる • 赤丸の箇所をformEquipmentに 入れて送信する <body> <h1
th:text="${id} + 'の利用'"></h1> <form method="POST" th:object="${formEquipment}" th:action="update"> <input type="hidden" name="id" th:value=*{id} /> <p>利用者を選択してください。</p> <div class="container"> <select name="useUser" th:value=*{useUser}> <option th:each="user : ${userList}" th:value="${user.id}" th:text="${user.name}" > </option> </select> </div> <p>利用日を選択してください。</p> <input type="date" name="useDate" th:field=*{useDate}></input> <p>返却日を選択してください</p> <input type="date" name="returnDate" th:field=*{returnDate}></ input> <input type="submit" value="利用" /> </form> </body> </html>
12.
13.
利用情報をデータベース更新
14.
コントローラー • 入力フォームから送信されたら • sampleに更新前の備品情報を代入 •
先程入力した要素のみsampleに セット • saveAndFlush(ここではeditInfo) でsampleの内容をデータベースに 保存 /*利用情報を更新し詳細画面に遷移*/ @RequestMapping(value="/{id}/update",method=RequestMethod.POST) public ModelAndView update(@PathVariable String id,ModelAndView mav,@ModelAttribute Equipment equipment) { Optional<Equipment> equipmentOpt = equipmentService.selectById(id); Equipment sample = equipmentOpt.get(); sample.setUseUser(equipment.getUseUser()); sample.setUseDate(equipment.getUseDate()); sample.setReturnDate(equipment.getReturnDate()); equipmentService.editInfo(sample); mav.setViewName("redirect:/{id}/product"); return mav; }
15.
16.
疑問点 • 以下を解決する手段 金額 利用者
購入先 PC1 80000 Tanaka OOstore PC2 50000 Sato XXstore PC1 Null Nagai Null 入力情報 利用者だけを更新したい 既存の備品情報 金額 利用者 購入先 PC1 Null Nagai Null PC2 50000 Sato XXstore saveAndFlush()だと他も更新してしまう
17.
まとめ • DB更新機能作成の流れを説明した • DB更新、入力フォームの作成に慣れる良い機会となった
18.
参考文献 • 掌田津耶乃,「Spring Boot2
プログラミング入門」,秀和システム,2018
Download now