並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 68件

新着順 人気順

iBatisの検索結果1 - 40 件 / 68件

  • MySQL のインデクスが利用されないクエリ等を自動検出する ExplainPolice の運用について

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE 株式会社 B2B Platform 開発担当フェローの Matsuno です。 LINE の Business Platform ではメインのデータベースとして MySQL を利用しています。MySQL は非常に高速に動く OSS の RDBMS なので、とても便利に利用させていただいております。 MySQL はとても高速なのですが、うっかり index を使わないクエリを発行した場合に実行がとても遅くなってしまうことがあります。LINE の Business Platform はとても多くのお客様が利用されるので、B2B としては異例なほどトラフィックが多く、少し遅いクエリが発生した結果としてサイト全体がダウンして

      MySQL のインデクスが利用されないクエリ等を自動検出する ExplainPolice の運用について
    • Checkstyleでクリーンアーキテクチャをチェックする - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

      こんにちは、なおしむです。 私はシステム企画部でシステム全体のアーキテクトとレガシーシステムの改善開発をしています。 弊社ではドメイン駆動設計を使って開発をしています。 ドメイン駆動設計ではクリーンアーキテクチャのようなレイヤー構造でシステムを作ります。このレイヤー構造に従って設計・コーディングをするのですが、コードレビュー時に正しいレイヤー構造で作れているかをチェックするのが地味にめんどくさいです。。 現在のプロジェクトで、この地味で面倒なレイヤー構造のチェックをCheckstyleを使って自動化しているのでその方法を紹介します。 クリーンアーキテクチャのコードレビューはめんどくさい クリーンアーキテクチャとは、図のような円形のレイヤー構造のアーキテクチャです。 The Clean Architecture を参考に筆者が作成 クリーンアーキテクチャにはレイヤー構造の依存関係にルールがあ

        Checkstyleでクリーンアーキテクチャをチェックする - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
      • リアルガチで言語別単価データを集計&比較してみた by Python - Qiita

        前々からフリーランス案件の言語別単価を比較&集計してみたかったので実際に調査してみました フリーランス案件の情報は下記サイトを元に集計しました 各言語のページに集計情報があったのでそれを元にしています レバテックフリーランス https://freelance.levtech.jp ※2020年11月21日時点のデータです Cloud.csv created_at,skill,count,avg_price,max_price,min_price 20201121,OpenShift,5,62,65,60 20201121,Amazon VPC,1,70,70,70 20201121,Google Cloud Platform,55,80,105,53 20201121,Dynamics CRM,1,65,65,65 20201121,Amazon S3,2,80,85,75 202011

          リアルガチで言語別単価データを集計&比較してみた by Python - Qiita
        • Kotlin + SpringBoot で構築したアプリケーションの構成をbuild.gradleに沿って紹介 - エムスリーテックブログ

          こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 この記事は エムスリー Advent Calendar 2019 の11日目の記事です。 昨日は大垣の 行動ログデータからのユーザーアンケート予測モデルを作り、ユーザーの嗜好分類をする でした。 今回も中村の記事で宣言した 「医師版Stack Overflow」(仮名)の技術的チャレンジのうち、 Kotlin + SpringBoot でのアプリケーション構成例を build.gradle に沿ってご紹介します*1。 山中湖交流プラザ きららは山梨県山中湖村にある総合公園。本文には特に関係ありません。 DBフレームワーク MyBatis3 data classにマッピングしたい Vueのビルド 静的解析 コンパイル時の警告もエラー扱いにする ktlint detekt OWASP Dependency C

            Kotlin + SpringBoot で構築したアプリケーションの構成をbuild.gradleに沿って紹介 - エムスリーテックブログ
          • サポート切れのJavaシステムの対策は? 運用し続けるリスクと技術的負債の返済| Qbook

            ※本コラムは、2019年12月セミナー共催に当たり、株式会社スタイルズ様より提供されました。 株式会社スタイルズ|https://www.stylez.co.jp 2000年前後よりStruts(ストラッツ)を代表とするJava言語のための開発フレームワークが開発され、企業情報システムでデファクト・スタンダードとして、盛んに採用されてきました。その中には十数年を経過しても根本的な刷新がされず、今では古くなってしまったフレームワーク上でメンテナンスが継続されているものも少なくありません。その結果、情報システム部門は古いフレームワークで動作する既存システムの保守に資金や人材を割かれ、新たなデジタル技術を活用したIT投資にリソースを振り向けることができず、ますます維持・保守コストが高騰します(技術的負債の増大)。また、既存システムを維持・保守できる人材が枯渇し、セキュリティ上のリスクも高まるとい

              サポート切れのJavaシステムの対策は? 運用し続けるリスクと技術的負債の返済| Qbook
            • Spring Boot におけるトランザクション処理 (MyBatis/MySQL)

              概要 Spring フレームワークにおける @Transactional アノテーションを利用すると DB トランザクション処理が簡単に設定できます。ここでは特に、こちらのページで環境構築した Spring Boot から MyBatis を経由して MySQL を利用する場合を対象としますが、JDBC を利用して他の DB を操作する場合も考え方は同じです。 参考ドキュメント Managing Transactions Spring Framework Reference Documentation / Using @Transactional mybatis-spring / Transactions サンプルプロジェクト 『Spring Boot から MyBatis を利用するための設定』における構成とほぼ同じです。 . |-- build.gradle |-- gradle |

                Spring Boot におけるトランザクション処理 (MyBatis/MySQL)
              • mybatisで値オブジェクト(Value Object)を扱う場合のポイント - shimapapa.io

                前置き 現場で mybatis を使い始めたのですが、値オブジェクト(Value Object)とマッピングさせる際に少しハマったので整理しました。 環境 Spirng Boot mybatis h2 DataBase SELECT の結果をオブジェクト内の Value Object にマッピングさせる 以下のようなUserNameという Value Object クラスがあったとします。 package com.example.demo.domain.model; public class UserName { private final String value; public UserName(String value) { this.value = value; } public String getValue() { return this.value; } } Userクラスが

                  mybatisで値オブジェクト(Value Object)を扱う場合のポイント - shimapapa.io
                • MyBatis経由で実行するSQLにリクエストID入れてみる。ダーティハックだけど。 - 京都行きたい

                  MyBatis経由で実行される全てのSQLに対して SQLコメントを追加したい気持ちになったので 簡単にどうやるのかを書いておく。 stackoverflowにも質問を書いたけど ググってたら思いついてしまった。(ほぼコピペだけど) ちなみにリフレクションでこじ開けるので使用するときには注意が必要だ。 最初に経緯を書いておく。 どういうコメントを追加したいかというと以下のようなコメントである。 SELECT * FROM users; /* TraceID: foo-bar-baz */ TraceID/RequestID/CorrelationID、なんでも良いんだけど SQLからトランザクションを追いかけたい。 そのために、実行されるSQL全てにSQLコメントを追加したくなった。 この手法はもともと isucon9の優勝者のブログに 書かれていて なるほど、これは便利そうだ、となった覚

                    MyBatis経由で実行するSQLにリクエストID入れてみる。ダーティハックだけど。 - 京都行きたい
                  • エンタープライズJavaで使えるORM「uroboroSQL」まとめ(リバイバル) | フューチャー技術ブログ

                    本記事は「珠玉のアドベントカレンダー記事をリバイバル公開します」企画のために、以前Qiitaに投稿した記事を7年ぶりに改訂したものです。 筆者自身もコミッターとして関わるJavaのDB永続化ライブラリ「uroboroSQL」の紹介です。 https://github.com/future-architect/uroborosql はじめにエンタープライズシステム開発では、まだまだJavaで作られていることが多く、システム特性上、やはりRDBを利用するケースが多いですよね。 Amazon AuroraやCloud Spannerといったプロダクトに注目が集まるのも、時代の変化とともにDBも並列分散型でスケールアウトはしたいけれども、トランザクションもSQLも使いたいというCAP定理を覆す特徴を持っていることが要因だと思います。 2016/12/24にクリスマス・イブにCockroachDBに

                      エンタープライズJavaで使えるORM「uroboroSQL」まとめ(リバイバル) | フューチャー技術ブログ
                    • Spring + MyBatisで楽観ロックを実装する

                      ■CREATE文 CREATE TABLE `sampledb`.`lock_sample` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `update_date` timestamp NOT NULL, PRIMARY KEY (`id`));Springの設定ファイルSpring Bootの設定ファイルは次のとおり。 「mybatis.configuration.map-underscore-to-camel-case」(自動的にスネーク→キャメルに変換してくれる設定)を「true」、「mybatis.mapper-locations」でXMLファイル(SQL文)の格納位置を指定しています。 [application.properties] mybatis.configuration.map-

                        Spring + MyBatisで楽観ロックを実装する
                      • こんなコードは嫌だ!現場で実際に見たアンチパターン集 - Qiita

                        はじめに 内容はタイトルの通りなのですが、アンチパターンなコードを書いた人をこき下ろす意図は一切ありません。コードを憎んで人を憎まずという言葉もありますしね。1 そのようなネガティブな動機ではなく、アンチパターンからできるだけ教訓を汲み取って前に進もうというポジティブな動機で筆を執っています。 全体的に古い話が多いので、最近はこのようなコードや状況が減っていたらいいな、と願っているところです。 環境 主にJava 6 内容 Struts1を拡張したオレオレフレームワークの使用 ご存知の方も多いでしょうけど、Struts1はもう何年も前にサポートが切れているので、この時点で嫌な予感しかしないところです。 Strutsをそのまま使うならまだいいんですが、そのプロジェクトでは見出しの通りStrutsを拡張したオレオレフレームワークを使っていました。そのフレームワークでは、1リクエストの処理を書く

                          こんなコードは嫌だ!現場で実際に見たアンチパターン集 - Qiita
                        • 私が好きなアーキテクチャ(ポートアンドアダプター)を説明する - きり丸の技術日記

                          新人育成用に自分が知っている知識を棚卸するための記事です。なお、解釈が誤っている可能性は十分にあります。 キーワード ポートアンドアダプター ヘキサゴナルアーキテクチャ ミュータブル/イミュータブル 腐敗防止層 ポートアンドアダプター(ヘキサゴナルアーキテクチャ)とは 私がアーキテクチャで意識しているのは、次の点です。 アプリケーションの「内側」と「外側」の区別をつける 「外側」の知識を「内側」に侵入させない 「内側」の知識を「外側」に流出させない アプリケーションの「内側」と「外側」の区別をつける 私は「内側」「外側」を次の定義で表現しています。 内側 アプリケーションのビジネスロジック 外側 アプリケーションで完結できない、実行時例外が発生しやすいロジック HTTPを受信するController、DBと接続するRepository、他システムとRESTやSOAPで連携、ファイル操作 こ

                            私が好きなアーキテクチャ(ポートアンドアダプター)を説明する - きり丸の技術日記
                          • サーブレット/Struts 1/SAStruts経験者が書籍「Spring Boot 超入門」でSpring Bootを学んでみた

                            はじめに これまで、JavaのWebシステム開発において、次のWebフレームワークを使ってきました。 サーブレット Struts 1 SAStruts これらの知識をベースに、書籍「Spring Boot 超入門」を使って、新たにSpring Bootを自己学習してみました。 第1章 Spring Freamworkを知ろう Spring Freamworkは、さまざまなプロジェクトや機能が集まって形成されていることを知りました。私はmacOSを使用しており、インストールした開発環境は、何も現時点で最新のもので、次の通りです。 Java (17.0.3) Pleiades All in One (Eclipse 2022:2022-03.20220326) PostgreSQL (14.2) 第2章 基礎知識を身につけよう インターフェースとリスト 問題なし。インターフェースは、この後のコ

                              サーブレット/Struts 1/SAStruts経験者が書籍「Spring Boot 超入門」でSpring Bootを学んでみた
                            • SpringBootでMyBatis使ってみた | Soloware Logs

                              前回、JPARepositoryについて簡単な記事を書いたのですが 使ってみてやっぱり個人的にはMyBatisの方が好きなんでその紹介を兼ねて使ってみたいと思います。 JPARepositoryはORMでオブジェクトとRDBのテーブルを紐付けるフレームワークです。これも便利なんですが、既にテーブル設計ができていたりしてそのテーブルがオブジェクト指向で考えられてなかった場合は、アプリ側でそこを吸収してやらないといけなかったり SQLを自動生成して実行するため、処理速度が遅かったりテーブル間結合がややこしく、SQL文を少しはやってきた私としてはJPAは使いにくかったです。 その点、 MyBatisはSQL Mapperと言われることもあって、SQL文とオブジェクトを紐付けてデータアクセスを行うフレームワークになります。 どういうことかというと、例えば、SELECT文で複数のテーブルを結合してい

                                SpringBootでMyBatis使ってみた | Soloware Logs
                              • [MyBatis]大量データをマッピングするときはCursorを使おう - Qiita

                                はじめに この間仕事で、大量データを扱っていて、どうしてもレスポンスがでない処理を見直すことなりました。 全体的に、約4分くらいかかる処理でした。 この処理を見直すときに、MappperをListではなく、org.apache.ibatis.cursor.Cursorに修正しました。 その結果、レスポンスを早くすることができました。 せっかくなので、MyBatis3.4以降で追加されたCursorの使い方についてまとめていきます。 動作環境 Java 1.8.0_181 Spring FrameWork 4.3.16 MyBatis 3.4.5 mybatis-spring 1.3.1 ※ mybatis-springだけ、プロジェクトによって必要/不必要が分かれると思います。 使い方 mapper.xmlは、Listで取得するときと特に変える必要はありません。 大量データを処理するので、

                                  [MyBatis]大量データをマッピングするときはCursorを使おう - Qiita
                                • SpringBoot2系にDBUnitを適用する

                                  アソビュー! Advent Calendar 2020 の15日目です。 アソビュー!のバックエンドエンジニアをしている茶色いネズミです。今回はデータベースの試験をコード化できるDBUnitをSpringBoot2系で動作するまでの手順をかんたんに紹介します。 DBUnitはRDBを使ったデータのテストを、JUnitを使ってテストケースを記載します。既存のデータベースをテストの初期状態とするか、初期投入するデータをあらかじめ定義しておいた状態でデータベースのアクセスを実行し、その結果を検証できます。検証結果はJUnitのコードで個別に検証しても良いですし、複数行・複数テーブルを丸ごと一致するかの検証も可能です。 テスト用のデータについては、既存のデータをそのまま用いるか、または初期投入用の定義を作るかを選びます。本稿では作成済みのデータベースならびにテーブルを用意し、SpringBootか

                                    SpringBoot2系にDBUnitを適用する
                                  • NST

                                    事業名 / NST (エヌエスティー ) 事業内容  システム インテグレーション 事業形態  個人事業 事業者  中村 智 所在地  千葉県 連絡先メールアドレス  support@ns-technology.biz eコマースを活用したインターネット上の販促販売決済物流のシステムインテグレーション 衣料品を取り扱う企業の在庫管理システムフルスクラッチ刷新 フィギア販売ECサイト構築、カスタマイズ 位置情報検索提供スマートフォンアプリの企画開発 通話料金明細管理システム開発 デジタルコンテンツ管理システム開発 広域ネットワークデュアルアクセス運用管理システム開発 スマートフォンを利用したドライブレコーダ開発 災害情報収集集積管理システム開発 書籍情報のコレクション、レビューサイトの企画開発 案内ロボットを管理、制御するWebシステム開発 大規模顧客データのETL開発 特定健診データをもと

                                      NST
                                    • Spring Boot + MyBatisでデータベースに接続する方法

                                      ディレクトリ構成springSample | |___src.main.java | |___com.example.demo | | | |___controller | | | | | |__UserController.java | | | |___entity | | | | | |___User.java | | | |___dto | | | | | |___UserSearchRequest.java | | | |___repository | | | | | |___UserMapper.java | | | |___service | | | |___UserService.java | |___src.main.resources | |___com.example.demo | | | |___repository | | | |___UserMapper.xml

                                        Spring Boot + MyBatisでデータベースに接続する方法
                                      • 【mybatis】接続先DBをSQLの内容等で振り分け【Java, Spring】 - Qiita

                                        接続先DBをSQLの内容等で振り分け 概要 ・負荷分散、データ分割などの理由で接続先のDBを振り分けたい ・org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource を利用 ・MyBatis のSQL実行をインターセプト 環境 ・SpringFramework 4 ・mybatis 3.2 ・mybatis-spring 1.2 ・mysql (jdbc) 構成 ・Source/Replica (Master/Slave) ・デフォルトは Source の方に接続、特別な場合に Replica の方へ接続するなどコードで色々設定が可能 ・インターセプターで接続先を設定する コード DynamicDataSource import org.springframework.jdbc.datasource.looku

                                          【mybatis】接続先DBをSQLの内容等で振り分け【Java, Spring】 - Qiita
                                        • スレッド 公開討議:BlobInputStreamTypeHandlerを利用したINSERT処理でエラー - TERASOLUNA Framework - OSDN

                                          BlobInputStreamTypeHandlerを利用したINSERT処理でエラー (2013-04-03 13:42 by 匿名 #68012) お世話になります。 「TERASOLUNA Server Framework for Java WEB」2.0.1.0を利用しております。 BLOBカラムにFileInputStreamでバイナリデータを typeHandler("jp.terasoluna.fw.orm.ibatis.support.BlobInputStreamTypeHandler")を利用して INSERTしようとした際にエラーが発生します。(エラー内容は後述) context.xmlのDataSourceにfactoryで"org.apache.tomcat.jdbc.pool.DataSourceFactory"を指定することで なんとかエラーは解消したのですが

                                            スレッド 公開討議:BlobInputStreamTypeHandlerを利用したINSERT処理でエラー - TERASOLUNA Framework - OSDN
                                          • iBATIS 2.3.0 の設定メモ - tetsuyasの日記

                                            iBATISそのもの説明 codezineさんの説明がわかりやすいです。 http://codezine.jp/a/article/aid/1289.aspx なお、ググると下記のthinkITのページが出てくるのですが、 http://www.thinkit.co.jp/free/article/0606/13/2/ Abatorのインストールの必要性が今ひとつわからなかったので、あまり参考にならず。 またサイトでは下記の3つが必要とあるのですが、最新のバージョンではjarファイルは一つになっている模様など、内容的に古いのでその点注意が必要です。 ibatis-common-2.jar ibatis-dao-2.jar ibatis-sqlmap-2.jar 本家リンク http://ibatis.apache.org/ 日本語ドキュメント はてぶで見つけました。 http://b.ha

                                              iBATIS 2.3.0 の設定メモ - tetsuyasの日記
                                            • Spring Boot × MyBatis × HikariCPで複数データソースを動的 (透過的) に利用する方法 - すきま風

                                              前置き 以前、静的な方法で複数データソースを利用する方法を記事にしました。 今回は透過的に複数データソースを利用する方法について記述します。 透過的とは、リクエスト時のユーザ情報とか、アクセス時間とか、何らかのパラメータを元にアクセスするデータソースを決定することです。 プレミアムユーザなら特別なデータソースを読み込むとか、簡単なシャーディングを実現したりできます。 ただし、実装が複雑になるため、特別な理由がない限り静的な方法を採用したほうが良いと思います。 実装方針 以前と同様に、データソースはOracleとMySQLとします。今回はDao Classにアノテーションを設定して、 特定のDao Classにアクセスした際にデータソースを決定するコードを実装します。 実装レシピ DatasourceとTxManagerをBean登録 AbstractRoutingDataSourceのOv

                                                Spring Boot × MyBatis × HikariCPで複数データソースを動的 (透過的) に利用する方法 - すきま風
                                              • Spring Boot2 × MyBatis × HikariCPで複数データソースにアクセスするコードを実装する 静的バージョン - すきま風

                                                前置き MyBatisを利用した複数データソースの実装には データソースごとのmapperをpackageレベルで分割する静的な手法と、SpringのAbstractRoutingDataSource を使って都度利用するデータソースを決定する動的な手法があります。今回は静的な手法のコードを記述します。 動的 (透過的) バージョンについてはこちらの記事を参照ください。 ソフトウェアバージョン software version OS MacOS Mojave Spring Boot 2.1.5 Java 1.8.0_192-b12 Kotlin 1.3.31 mybatis-spring-boot-starter 2.0.1 Gradle 5.2.1 実装 複数データソースの場合、Spring BootのAuto ConfigureでBeanを登録することができないので各データソースごとに

                                                  Spring Boot2 × MyBatis × HikariCPで複数データソースにアクセスするコードを実装する 静的バージョン - すきま風
                                                • OSSの通らない自動テストを追いかけた話 - プログラマーの脳みそ

                                                  備忘録。 MyBatis Migrations の ソースコード を落としてきて自動テストを叩いてみたけども通らないテストがあったんですよ。(masterブランチ commit 29945670f2937e3c9f107d9f59e6b03d7e58926e 2020-10-19版) java.lang.AssertionError: Expected: (an instance of java.io.FileNotFoundException and exception with message is "/tmp/NoSuchFile.sql (No such file or directory)") but: exception with message is "/tmp/NoSuchFile.sql (No such file or directory)" message was "

                                                    OSSの通らない自動テストを追いかけた話 - プログラマーの脳みそ
                                                  • Spring BootでMybatisを使ってみる - 勉強ログ

                                                    pom.xml application.properties Modelクラス JavaとxmlファイルのMapper HomeController index.html 参考文献 GitHub:https://github.com/n-yata/mybatis-sample.git pom.xml pom.xmlは下のような感じ。 mybatis-spring-boot-starterを入れる。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h

                                                      Spring BootでMybatisを使ってみる - 勉強ログ
                                                    • Spring Bootで、DBのPrimary/ReplicationインスタンスにSQLを振り分ける2つの方法 - エキサイト TechBlog.

                                                      こんにちは。 エキサイト株式会社の三浦です。 DBでは、可用性の担保のために Primary と Replication のインスタンスをそれぞれ用意することが多々あります。 こうしたDBをSpring Bootで扱う際、適切にSQL実行先を振り分けないとせっかく分けた意味がなくなってしまいます。 今回は、適切に Primary / Replication インスタンスにSQLを振り分ける方法を2通り紹介します。 DBの可用性と Primary / Replication インスタンス DBは、多くのアプリケーションにとって、アプリケーション上で扱うデータが入っている重要なサービスであり、DBに障害が起きてしまった場合サービス自体に障害が起きてしまうケースがほとんどです。 そのため、DBの可用性を高めることは、DBを扱うアプリケーションにとってはかなり重要性の高い要件と言えます。 DBの可

                                                        Spring Bootで、DBのPrimary/ReplicationインスタンスにSQLを振り分ける2つの方法 - エキサイト TechBlog.
                                                      • MyBatisをNoXMLで使う - Qiita

                                                        目的 MyBatisは通常XMLで各種定義を行いますが、XMLを使わないことも可能です。 手順 SqlSessionFactoryの取得 CDI+JNDIの場合 Java EEサーバ上で動かす場合はJNDIルックアップと組み合わせます。JNDI定義は例えば次の記事が参考になります。 @Resource(lookup = "jdbc/********") // JNDI名 private DataSource dataSource; @Produces public SqlSessionFactory produceSQLSessionFactory() { var config = new Configuration(); config.addMappers("package.to.mappers"); // Mapperクラスが存在するパッケージ config.setEnvironmen

                                                          MyBatisをNoXMLで使う - Qiita
                                                        • ant jarファイル作成

                                                          <?xml version="1.0" encoding="UTF-8"?> <!-- name属性にproject名指定(任意) --> <project name="MyBatisTest" default="build.full" basedir="."> <!-- 設定 --> <!-- JARファイルにつける名前 --> <property name="jarname" value="MyBatisTest" /> <!-- 作業用ディレクトリ --> <property name="dir.temp" value="build/tmp" /> <!-- property name="dir.temp.resources" value="${dir.temp}/resources" /--> <property name="dir.temp.resources" value="$

                                                            ant jarファイル作成
                                                          • 軽量Javaが最近もてはやされる理由 | ウルシステムズ株式会社

                                                            業務アプリなどで広く使われているJ2EE ですが、EJBはその複雑さ、難しさから敬遠されがちです。一方で、Spring やSeasar などの「DI コンテナ」や、Hibernate やiBATIS といった「O/R マッピングフレームワーク」が、実装をシンプルにする軽量Java の技術として注目を集めています。今回は、EJB の仕組みと問題点を再確認するとともに、J2EE アプリ開発における軽量Java の効果を解説します。 悩みの種は尽きません 前回の繰り返しになりますが、ソフトウェアアーキテクチャには、ソフトウェアのレイヤ構成、ユーザー認証、セッション管理、DBMSへのアクセスなど、多岐にわたる要素が含まれます。それらの中でソフトウェアのレイヤ構成は、すべてのアプリケーションに必須であるにもかかわらず、その設計と実装にこれといった一般解が存在しないため、開発者を非常に悩ませます。プレ

                                                              軽量Javaが最近もてはやされる理由 | ウルシステムズ株式会社
                                                            • Springフレームワークで開発する為の環境構築

                                                              Springフレームワークを使って開発する為の環境構築(Springフレームワーク用のEclipseの設定)からSpring MVCプロジェクトの作成までを紹介する記事です。 以下の環境で動作確認をしています Windows 7(64bit) Pleiades Eclipse 4.6 Neon Java SE 8 目次 Springフレームワークの特徴 Springフレームワーク用のEclipseの設定 Spring MVCプロジェクトの作成 Springフレームワークの特徴 DI/AOPのフレームワーク DIやAOPはSpringフレームワークの中心的な機能です。DIやAOPが必要な場合は Springフレームワークが使われることが多いです。 Webアプリケーション開発 Springフレームワークには、Web アプリケーション開発のためのプロダクトがあり、それらを使ってWebアプリケーシ

                                                                Springフレームワークで開発する為の環境構築
                                                              • Ibatorを使ってみた - oknknicの日記

                                                                インストール Eclipseプラグイン update site:http://ibatis.apache.org/tools/ibator ⇒Apache iBATIS Ibator Feature 1.2.1 利用手順 1. 新規プロジェクト作成から、Apache iBATIS Ibator>Apache iBATIS Ibator Configuration File 2. 作成された ibatorConfig.xml の"???"部分を編集(※接続情報や、ファイル作成先の設定。エンティティ作成対象のテーブルにはワイルドカード(%)設定も可能) (※ibatisConfiguration要素の直下に 要素の追加が別途必要) 3. ibatorConfig.xml を右クリック>Generate iBATIS Artifacts 参考サイト 走りながら考える…Java&OpenSourc

                                                                  Ibatorを使ってみた - oknknicの日記
                                                                • (初心者向け)MyBatisの基礎知識 - Qiita

                                                                  学習中のSpring bootで、新しくMybatisの学習をおこなったので、アウトプットも兼ねて投稿します。 MyBatisとは DB(データベース)にアクセスできるフレームワークのこと。 Spring bootには他にもSpring data JpaやJPQLといったSQLを扱うライブラリやクエリ言語があるが、大きな違いとしては以下の通り。 ①SQLをガッツリ書く必要がある。 ②DBMSを意識する必要がある。(DBMSによってかけるSQLが異なるから) ③①、②を意識するためにSQLの知識が必要。 特にSpring Data Jpaは自動生成なのでほとんどSQLを意識することなくデータの取得等を行うことができる(※ORM)が、型が決まっていたりキーワードを組み合わせたりと、柔軟性がかけるところがある。逆にMyBatisは全てコードを記入する分面倒だが、より複雑なSQLも実行することがで

                                                                    (初心者向け)MyBatisの基礎知識 - Qiita
                                                                  • SpringBootでAutoConfigurationを止める方法 - Qiita

                                                                    概要 このエントリでは、SpringBootを使っている時、自動で各種設定を行ってくれる機能=Auto-configurationを無効化する方法について紹介します。 SpringBootのAuto-configurationは、開発者が意図的にBeanを定義していない場合に、自動で必要と思われるBeanを定義し、有効化してくれるとても便利な機能ですが、開発中など、場合によっては、一時的に止めたくなることもあると思います。 ということで、普段は必要がない方法ではあろうものの、参考としてエントリにします。 対象読者 SpringBootで基本的なアプリケーションを動作させられる方 SpringBootのAuto-configure周りについて知りたい方 前提 2018年5月時点のSpringBoot(1.5.x系) 参考となるサイト Spring Boot本家 本家サイトには、Auto-co

                                                                      SpringBootでAutoConfigurationを止める方法 - Qiita
                                                                    • SpringBootとMyBatisを連携するための設定方法

                                                                      はじめに 開いていただきありがとうございます。 数週間前にVScodeでSpringBoot + MyBatisプロジェクトを作成するという記事を作成しました。 上記の内容ではプロジェクトを作成することを目的としていたため、springとMyBatis連携の詳細な内容まで書きませんでした。 なので、本記事ではspringとMyBatisを連携させる方法を書いていきたいと思います。 作業環境 macOS Catalina バージョン 10.15.5 OpenJDK 11.0.9.1 Visual Studio Code Visual Studio Codeには以下の拡張機能をインストールされていることが前提です。 Java Extension Pack Spring Boot Extension Pack DB:SQLite3 ※VScodeでのSpringBootプロジェクトの作成方法は以

                                                                        SpringBootとMyBatisを連携するための設定方法
                                                                      • MyBatisでJavaのListをPostgreSQLのARRAYにマッピングする

                                                                        MyBatisにはJavaの配列とDBのARRAYをマッピングするorg.apache.ibatis.type.ArrayTypeHandlerがありますが、JavaのListとマッピングすることはできません。 コードを書く上で、配列(例:String[])よりList(例:List<String>)を使いたいことも多いと思いますので、Listをマッピングする方法を書いていきます。 確認した際の各バージョンは下記の通りです。 PostgreSQL 15.3 Java 17 Spring Boot 3.1.1 MyBatis 3.5.13 テーブル定義 今回は下記のようなテーブルを定義します。 CREATE TABLE list_records ( id serial, booleans boolean[], shorts smallint[], integers integer[], lo

                                                                          MyBatisでJavaのListをPostgreSQLのARRAYにマッピングする
                                                                        • MyBatisでJavaのenumをPostgreSQLの列挙型(enum)にマッピングする

                                                                          MyBatisには、Java上のenumをハンドリングするためのTypeHandlerとして、下記の2つが用意されています。 org.apache.ibatis.type.EnumTypeHandler →列挙子の名前(name()で取得できる)を利用してマッピング ※MyBatisのデフォルトの設定では、このTypeHandlerが利用される org.apache.ibatis.type.EnumOrdinalTypeHandler →列挙子の順序(ordinal()で取得できる)を利用してマッピング 上記のどちらも、PostgreSQLの列挙型(enum)にマッピングすることはできません。 (EnumTypeHandlerはvarcharやtextにはマッピングできるが、enumには直接マッピングできない) PostgreSQL 15.0文書 - 8.7. 列挙型 Javaのenumを

                                                                            MyBatisでJavaのenumをPostgreSQLの列挙型(enum)にマッピングする
                                                                          • サイオステクノロジーのOSSサポートサービス「OSSよろず相談室」

                                                                            OSSを自社導入したが、的確なサポートをしてくれる会社に出会えない 障害対策、脆弱性対策、バージョンアップなど、 工数管理やスキル不足が心配 OSSに精通した人材が不足しており、調査等に時間がかかる 多数のサーバーを運用しており、サポート費用がかさんでいる 自社のOSSにマッチしたサービスだけを利用したい OSS導入は実現したものの導入後のサポートに 不安を感じておられる企業が数多くいらっしゃいます。 サポートを外部に依頼するにしても、 技術力や料金、サポート体制等が気になるところ。 「OSSよろず相談室」なら、 そうした企業の課題を解決することができます。 20年にわたってOSSビジネスを展開。その間、お客さまからのご要望にお応えして OSSのサポート対応数を着実に増やしつづけてきました。 今日では、150種類以上のOSSで「質」の高いサポートを実現。 国内屈指の対応数を誇っています。

                                                                              サイオステクノロジーのOSSサポートサービス「OSSよろず相談室」
                                                                            • Azure Function上のSpring Batch(Chunkモデル)でマルチスレッド設定をしてみた|ITエンジニアとして経験・学習したこと

                                                                              以前、このブログでAzure FunctionsでSpring BatchのChunkモデルを利用したプログラムを作成したことがあったが、TaskExecutorを利用することで、処理単位(ステップ)をマルチスレッドで動作させることができる。 今回は、TaskExecutorを利用して処理単位(ステップ)をマルチスレッドで動作させてみたので、そのサンプルプログラムを共有する。 前提条件下記記事のサンプルプログラムを作成済であること。 TimerTriggerによって動作するAzure Function上でSpring Batch(Chunkモデル)を利用してみたこれまでは、Spring BatchのTaskletモデルを利用してきたが、ファイルの読み込み/データの加工/DBへの書き込みといった処... 作成したサンプルプログラムの修正前提条件の記事のサンプルプログラムを、TaskExecu

                                                                                Azure Function上のSpring Batch(Chunkモデル)でマルチスレッド設定をしてみた|ITエンジニアとして経験・学習したこと
                                                                              • MyBatisの雛型を作ってくれるMyBatis Generator (MBG)を使ってみる - ts0818のブログ

                                                                                www.itmedia.co.jp ⇧ amazing... MyBatis Generator (MBG)とは? GitHubの公式のドキュメントによりますと、 github.com This is a code generator for MyBatis. This library will generate code for use with MyBatis. It will introspect a database table (or many tables) and will generate artifacts that can be used to access the table(s). This lessens the initial nuisance of setting up objects and configuration files to interact w

                                                                                  MyBatisの雛型を作ってくれるMyBatis Generator (MBG)を使ってみる - ts0818のブログ
                                                                                • Spring BootでMyBatisを使えるMyBatis-Spring-Boot-Starterを使ってみる - ts0818のブログ

                                                                                  nazology.net ⇧ amazing... MyBatisとは? GitHubで公開されてるドキュメントによると、 github.com The MyBatis SQL mapper framework makes it easier to use a relational database with object-oriented applications. MyBatis couples objects with stored procedures or SQL statements using an XML descriptor or annotations. Simplicity is the biggest advantage of the MyBatis data mapper over object relational mapping tools. https://

                                                                                    Spring BootでMyBatisを使えるMyBatis-Spring-Boot-Starterを使ってみる - ts0818のブログ