Suche senden
Hochladen
MyBatis を利用した web application 開発についてのご紹介
•
5 gefällt mir
•
12,893 views
Tokuhiro Matsuno
Folgen
https://jjug.doorkeeper.jp/events/63161
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 39
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
スキトラ Spring + mybatis
スキトラ Spring + mybatis
小川 昌吾
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶ
dcubeio
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
Rakuten Group, Inc.
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
Takahiro Moteki
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみた
Kei Yagi
WP REST API の活用事例と今後
WP REST API の活用事例と今後
Yuusuke Yoshida
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
Kazue Igarashi
エッセンシャルCore springハンズオン
エッセンシャルCore springハンズオン
土岐 孝平
Empfohlen
スキトラ Spring + mybatis
スキトラ Spring + mybatis
小川 昌吾
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶ
dcubeio
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
Rakuten Group, Inc.
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
Takahiro Moteki
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみた
Kei Yagi
WP REST API の活用事例と今後
WP REST API の活用事例と今後
Yuusuke Yoshida
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
Kazue Igarashi
エッセンシャルCore springハンズオン
エッセンシャルCore springハンズオン
土岐 孝平
YARAIYA! Opendata with WordPress
YARAIYA! Opendata with WordPress
Hidetaka Okamoto
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
Naoki Yamada
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション
土岐 孝平
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
アシアル株式会社
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
Viewを使って開発を楽にする話
Viewを使って開発を楽にする話
Isamu Watanabe
WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会
Koji Asaga
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方
Hidetaka Okamoto
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオン
Hidetaka Okamoto
WordPress開発の最新事情
WordPress開発の最新事情
Takayuki Miyauchi
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
Kitani Kimiya
5分で分かるmonaca pressproject(草案)
5分で分かるmonaca pressproject(草案)
Yuki Okamoto
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
Kitani Kimiya
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
Takahiro Okumura
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用
Satoshi Kamigaki
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
Noriaki Kadota
WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編
Hiroshi Urabe
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
Yosuke TOMITA
Media Assembly Kit
Media Assembly Kit
Hiromichi Koga
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
hirooooo
Reladomo入門 JJUGナイトセミナー #jjug
Reladomo入門 JJUGナイトセミナー #jjug
Hiroshi Ito
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
Toshihiro Nakamura
Weitere ähnliche Inhalte
Was ist angesagt?
YARAIYA! Opendata with WordPress
YARAIYA! Opendata with WordPress
Hidetaka Okamoto
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
Naoki Yamada
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション
土岐 孝平
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
アシアル株式会社
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
Viewを使って開発を楽にする話
Viewを使って開発を楽にする話
Isamu Watanabe
WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会
Koji Asaga
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方
Hidetaka Okamoto
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオン
Hidetaka Okamoto
WordPress開発の最新事情
WordPress開発の最新事情
Takayuki Miyauchi
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
Kitani Kimiya
5分で分かるmonaca pressproject(草案)
5分で分かるmonaca pressproject(草案)
Yuki Okamoto
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
Kitani Kimiya
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
Takahiro Okumura
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用
Satoshi Kamigaki
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
Noriaki Kadota
WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編
Hiroshi Urabe
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
Yosuke TOMITA
Media Assembly Kit
Media Assembly Kit
Hiromichi Koga
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
hirooooo
Was ist angesagt?
(20)
YARAIYA! Opendata with WordPress
YARAIYA! Opendata with WordPress
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Viewを使って開発を楽にする話
Viewを使って開発を楽にする話
WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオン
WordPress開発の最新事情
WordPress開発の最新事情
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
5分で分かるmonaca pressproject(草案)
5分で分かるmonaca pressproject(草案)
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
Media Assembly Kit
Media Assembly Kit
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
Andere mochten auch
Reladomo入門 JJUGナイトセミナー #jjug
Reladomo入門 JJUGナイトセミナー #jjug
Hiroshi Ito
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
Toshihiro Nakamura
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_tech
Michihito Shigemura
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
J-Stream Inc.
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
Yusuke Suzuki
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
Ryosuke Uchitate
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
Yusuke Suzuki
Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜
Youtarou TAKAHASHI
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
YujiSoftware
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
Andere mochten auch
(11)
Reladomo入門 JJUGナイトセミナー #jjug
Reladomo入門 JJUGナイトセミナー #jjug
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_tech
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Ähnlich wie MyBatis を利用した web application 開発についてのご紹介
サーバ・VM+コンテナ管理Tips@オンライン合宿2020
サーバ・VM+コンテナ管理Tips@オンライン合宿2020
Yuki Nihei
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
Mitsuru Katoh
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
Yuki Okada
ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】
schoowebcampus
プロトタイピングでしあわせになろうよ
プロトタイピングでしあわせになろうよ
Yoshiki Kojima
Hello, React!! まで導く Reactの基礎
Hello, React!! まで導く Reactの基礎
iPride Co., Ltd.
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
S Akai
Salesforce Lightning をやってみてあれこれ
Salesforce Lightning をやってみてあれこれ
寛 吉田
Webmarketing_CareerBar_ver1.pdf
Webmarketing_CareerBar_ver1.pdf
Cybozu, Inc.
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1
Keisuke Imai
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
Iida Yukako
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
TomomitsuKusaba
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
Kimihiko Kitase
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
Hiroto Igarashi
障害にならないためのMySQL運用
障害にならないためのMySQL運用
Junya Shimazu
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
bizstation
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
naoki ando
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
Tetsuji Hayashi
Emacs softLayer
Emacs softLayer
Shuichi Yukimoto
Ähnlich wie MyBatis を利用した web application 開発についてのご紹介
(20)
サーバ・VM+コンテナ管理Tips@オンライン合宿2020
サーバ・VM+コンテナ管理Tips@オンライン合宿2020
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】
プロトタイピングでしあわせになろうよ
プロトタイピングでしあわせになろうよ
Hello, React!! まで導く Reactの基礎
Hello, React!! まで導く Reactの基礎
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
Salesforce Lightning をやってみてあれこれ
Salesforce Lightning をやってみてあれこれ
Webmarketing_CareerBar_ver1.pdf
Webmarketing_CareerBar_ver1.pdf
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
障害にならないためのMySQL運用
障害にならないためのMySQL運用
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
Emacs softLayer
Emacs softLayer
Mehr von Tokuhiro Matsuno
20190126 yapc tokyo keynote
20190126 yapc tokyo keynote
Tokuhiro Matsuno
最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編
Tokuhiro Matsuno
Plenv and perl build, and search.cpan.org
Plenv and perl build, and search.cpan.org
Tokuhiro Matsuno
Yapc fukuoka crust
Yapc fukuoka crust
Tokuhiro Matsuno
Perl6 と web 開発と
Perl6 と web 開発と
Tokuhiro Matsuno
Openjdk 入門してみた話
Openjdk 入門してみた話
Tokuhiro Matsuno
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
Tokuhiro Matsuno
Perl6 web-app
Perl6 web-app
Tokuhiro Matsuno
Perl6 meets JVM
Perl6 meets JVM
Tokuhiro Matsuno
Server::Starter meets Java
Server::Starter meets Java
Tokuhiro Matsuno
Java web application testing
Java web application testing
Tokuhiro Matsuno
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
Test::Kantan - Perl and Testing
Test::Kantan - Perl and Testing
Tokuhiro Matsuno
[jjug] Java と Benchmark
[jjug] Java と Benchmark
Tokuhiro Matsuno
Devel::NYTProf::Apache
Devel::NYTProf::Apache
Tokuhiro Matsuno
MySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみた
Tokuhiro Matsuno
Archer
Archer
Tokuhiro Matsuno
MySQL::NameLocker
MySQL::NameLocker
Tokuhiro Matsuno
Inside MF
Inside MF
Tokuhiro Matsuno
Web Application FLow
Web Application FLow
Tokuhiro Matsuno
Mehr von Tokuhiro Matsuno
(20)
20190126 yapc tokyo keynote
20190126 yapc tokyo keynote
最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編
Plenv and perl build, and search.cpan.org
Plenv and perl build, and search.cpan.org
Yapc fukuoka crust
Yapc fukuoka crust
Perl6 と web 開発と
Perl6 と web 開発と
Openjdk 入門してみた話
Openjdk 入門してみた話
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
Perl6 web-app
Perl6 web-app
Perl6 meets JVM
Perl6 meets JVM
Server::Starter meets Java
Server::Starter meets Java
Java web application testing
Java web application testing
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Test::Kantan - Perl and Testing
Test::Kantan - Perl and Testing
[jjug] Java と Benchmark
[jjug] Java と Benchmark
Devel::NYTProf::Apache
Devel::NYTProf::Apache
MySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみた
Archer
Archer
MySQL::NameLocker
MySQL::NameLocker
Inside MF
Inside MF
Web Application FLow
Web Application FLow
MyBatis を利用した web application 開発についてのご紹介
1.
MyBatis を利利⽤用した Web Application
開発についてのご 紹介 LINE Corp. Service Dev. 1 Tokuhiro Matsuno
2.
⾃自⼰己紹介 • LINE Corp
Service Dev.1 • ⾼高トラフィックの B2C の⾃自社ウェブサービスを開発する ことを⽣生業としている • 最近はなぜか広告事業をやっています。 • 広告案件でももちろん MyBatis を利利⽤用しています。
3.
MyBatis? • 永続化フレームワーク for
Java
4.
どう動く? • SQL は直接書く •
それを interface 通じて呼び出す → java.lang.reflect.Proxy で処理理する • 結果を Bean に Mapping する
5.
6.
7.
どんなスキーマでも使える • 主キーがなくても⼤大丈夫 • もともと
MyBatis 前提で設計されてない DB でも⼤大丈夫 • サブクエリなどの複雑なクエリも簡単に使えます • 複雑なクエリそのものが⼤大変
8.
完全に DB 製品に依 存します
9.
発⾏行行されるクエリが⼈人間 に読みやすいので便便利利
10.
N+1 問題がそもそも起きない (⼿手で書いているので)
11.
3つの書き⽅方 • Mapper XML:
XML で記述 • Annotation: アノテーションで記述 • Statement builder: Java DSL で記述
12.
1. Mapper XML
13.
名前はビーンのフィールド名または -parameters または
@Param から取得
14.
Java8 以後は -parameters
オプションで不不要
15.
16.
17.
Usage String resource =
"mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
18.
実⾏行行 try (SqlSession session
= sqlSessionFactory.openSession()) { BlogMapper mapper = session.getMapper(BlogMapper.class); Blog blog = mapper.findById(101); System.out.println(blog); }
19.
2. Annotation
20.
21.
クエリ埋め込んだら読みづらい?
22.
3. Statement builder
23.
24.
LINE 社内での利利⽤用⽐比率 27% 73% XML Annotation Statement
builder
25.
@Select("SELECT *" + "
FROM blog" + " id=#{id}") Blog findById(long id);
26.
Annotation の⾔言語別シェア 1% 4% 95% Java Kotlin
Groovy
27.
Kotlin fun findById(id: Long):
List<Blog> Groovy Blog findById(long id) Java Blog findById(long id);
28.
LINE社社内での直近動向 • Mapper XML
→ 継続して利利⽤用されている • Annotation → Groovy or kotlin の利利⽤用が活発 • 複数⾏行行⽂文字列列に対応している • Statement builder → ほとんど利利⽤用されていない
29.
Spring support • Spring
boot のサポートが⼿手厚いです 😁
30.
31.
32.
33.
34.
35.
MyBatis の利利点 • SQL
が直接書いてある → 短期的に開発効率がすごくいいわけではない → コードレビューが容易易 → スロークエリのリカバリが容易易
36.
MyBatis の利利点(2) • ドキュメントが充実している
37.
MyBatis の利利点(3)
38.
MyBatis の利利点(4) • コードがシンプル •
挙動がわかりにくい点があっても、Debugger で追いやす い
39.
MyBatis の⽋欠点 • XML,
Statement builder, Annotation をサポート → Annotation で書く⼈人にとっては XML 記法前提で説明が 書かれていて、ドキュメントがちょっと読みにくい
Jetzt herunterladen