並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 59件

新着順 人気順

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

  • 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 の運用について
    • リアルガチで言語別単価データを集計&比較してみた 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
      • 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
        • エンタープライズ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.ma

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

              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 内容はタイトルの通りなのですが、アンチパターンなコードを書いた人をこき下ろす意図は一切ありません。コードを憎んで人を憎まずという言葉もありますしね。1 そのようなネガティブな動機ではなく、アンチパターンからできるだけ教訓を汲み取って前に進もうというポジティブな動機で筆を執っています。 全体的に古い話が多いので、最近はこのようなコードや状況が減っていたらいいな、と願っているところです。 環境 主にJava 6 内容 Struts1を拡張したオレオレフレームワークの使用 ご存知の方も多いでしょうけど、Struts1はもう何年も前に

                こんなコードは嫌だ!現場で実際に見たアンチパターン集 - 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を学んでみた
                  • [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
                        • 【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 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で複数データソースにアクセスするコードを実装する 静的バージョン - すきま風
                                • Spring Boot × MyBatis × HikariCPで複数データソースを動的 (透過的) に利用する方法 - すきま風

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

                                    Spring Boot × 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ファイル作成
                                            • 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フレームワークで開発する為の環境構築
                                              • 軽量Javaが最近もてはやされる理由 | ウルシステムズ株式会社

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

                                                  軽量Javaが最近もてはやされる理由 | ウルシステムズ株式会社
                                                • MyBatis Generatorを使ってMapperやEntityを自動生成してみた|ITエンジニアとして経験・学習したこと

                                                  やってみたことMyBatis GeneratorのインストールSpring Bootプロジェクトの作成MyBatis Generator用の設定ファイルの作成MyBatis Generatorの実行MyBatis GeneratorのインストールMyBatis Generatorのインストール手順は、以下の通り。 1) STSを起動し、「ヘルプ」メニューから「Eclipse マーケットプレース」を選択する。 2) 検索ウィンドウに「MyBatis Generator」を指定し、「Go」ボタンを押下する。 3) 「MyBatis Generator」の「インストール」ボタンを押下する。 4) ライセンスのレビュー画面が表示されるので、「使用条件の条項に同意します」を選択後、「完了」ボタンを押下する。 5) セキュリティー警告ダイアログが表示されるので、「インストール」ボタンを押下する。 6)

                                                    MyBatis Generatorを使ってMapperやEntityを自動生成してみた|ITエンジニアとして経験・学習したこと
                                                  • 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

                                                        クラス指定で無効化する方法 参照サイト[2]の記載にもありますが、SpringBootのAuto-configurationは、「spring.factories」ファイルに定義されたConfigurationクラスを指定されたルールにしたがって順次スキャンします。 たとえば、SpringBootの1.5.x系のspring.factoriesファイルでは、18行目の「 # Auto Configure」のコメント以下に指定されているものが該当します。 これを利用して、Spring Boot のapplication.yml内で無効化する例を用意しました。 こちらのサンプルソース内の、 application.ymlです。 該当箇所だけ抜き出すと、下記のようになります。 spring: autoconfigure: exclude: org.springframework.boot.aut

                                                          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の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)にマッピングする
                                                            • 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にマッピングする
                                                              • 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エンジニアとして経験・学習したこと
                                                                • サイオステクノロジーのOSSサポートサービス「OSSよろず相談室」

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

                                                                    サイオステクノロジーのOSSサポートサービス「OSSよろず相談室」
                                                                  • Spring + MyBatisの@Optionsアノテーションでサロゲートキーを取得する方法

                                                                    src/main/resources配下にschema.sqlを配置します。中身は以下の通りとします。(ID列はAUTO_INCREMENTしていること) CREATE TABLE IF NOT EXISTS employee ( id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(60) NOT NULL, age BIGINT NOT NULL ); CREATE SEQUENCE IF NOT EXISTS SEQ_ID; Spring スタータープロジェクトで選択する依存関係は以下の通りとします。 @Mapperアノテーションを付与したインタフェースのメソッドに、@Insertアノテーションを付与します。 @InsertアノテーションにはSQL文を記述します。 従業員を表すPOJOです。 package jp.co

                                                                      Spring + MyBatisの@Optionsアノテーションでサロゲートキーを取得する方法
                                                                    • 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のブログ
                                                                        • Springによるフォーム送信、Mapperによるデータ登録、バリデーション、MySQL型メモ|よーた

                                                                          コントローラの中身 URL: /greeting メソッド: POST Greetingオブジェクトの中身: id, content, それぞれのsetter/getter Model#addAttributeでGreetingクラスを格納 @PostMapping("/greeting") public String greetingSubmit(@ModelAttribute Greeting greeting, Model model) { model.addAttribute("greeting", greeting); return "result"; } フォームの中身 th:object th:action th:field <form action="#" th:action="@{/上記のコントローラのメソッドのURL}" th:object=k"${コントローラ側で設定

                                                                            Springによるフォーム送信、Mapperによるデータ登録、バリデーション、MySQL型メモ|よーた
                                                                          • 【SpringBoot】動的にDBを切り替える方法 - エキサイト TechBlog.

                                                                            はじめに 動作環境 複数のDB DataSourceの設定 DBの接続先を定義したEnumの作成 DataSourceContextHolderの作成 AbstractRoutingDataSourceを実装する SqlSessionFactoryを定義する 実際に実行する おわりに 参考 はじめに エキサイト株式会社 バックエンドエンジニアの山縣です。 既存サービスのリビルドをするにあたって、SpringBootで動的にDBを切り替える必要がありました。 これを実現するためにやったことについて本記事で紹介します。 動作環境 SpringBoot 2.6.2 Java 17 MyBatis Spring Boot Starter: 2.1.3 SQL Server 2016 複数のDB 現在私が携わっているサービスでは「ユーザーIDのプレフィックス1文字を見てDBの向き先を変更する」という

                                                                              【SpringBoot】動的にDBを切り替える方法 - エキサイト TechBlog.
                                                                            • quarkusを使う(mybatis編) - エキサイト TechBlog.

                                                                              こんばんは、エキサイト株式会社の中尾です。 前回の続きです。 mybatisを入れていきます。 mybatisにはserviceと同様@Singletonをつけて、@Injectで呼び出します。 その際、repositoryを間に挟みます。 まず、必要なextentionをgradleに追加します。 implementation 'io.quarkiverse.mybatis:quarkus-mybatis:0.0.10' implementation 'io.quarkus:quarkus-jdbc-mysql:0.26.1' 続いてデータベースの設定です。 CREATE schema test; CREATE TABLE book ( id integer not null primary key, title varchar(80) not null, author varchar(

                                                                                quarkusを使う(mybatis編) - エキサイト TechBlog.
                                                                              • Spring BootのDBアクセス処理を手動で定義しMyBatisを利用してみた|ITエンジニアとして経験・学習したこと

                                                                                Spring Bootフレームワークを利用したアプリケーションでMyBatisを利用する際、DBにアクセスするDataSource等のBean定義を自動的に行うことができるが、この機能を利用せず、手動でDBアクセス処理を定義しMyBatisを利用することもできる。 今回は、手動でDBアクセス処理を定義しMyBatisを利用してみたので、共有する。 前提条件下記記事の実装が完了していること。 Always Encryptedで暗号化されたカラムを更新してみたJDBC接続文字列に「columnEncryptionSetting=Enabled」を追加し、Azure Key Vault に対する... 作成したサンプルプログラム(Azure Functions側)の内容作成したサンプルプログラム(Azure Functions側)の構成は以下の通り。なお、App Services側のソースコード

                                                                                  Spring BootのDBアクセス処理を手動で定義しMyBatisを利用してみた|ITエンジニアとして経験・学習したこと
                                                                                • MyBatisのSQLをJavaコードに記載して動的SQLのカバレッジも測定しちゃおうよ!! - Qiita

                                                                                  MyBatis=XMLのイメージの方も多いと思いますが、「アノテーション」と「任意のJavaクラスのメソッド」にSQLを記載することができます(つまりXML書かなくてもMyBatisを使ってDBアクセスすることができます)。あまり知られていないかもしれないですが、「任意のJavaクラスのメソッド」を使用して動的SQLを記載すると、カバレッジ測定ツールと連動してSQLの生成ロジックに対するテストの充足性を確認することもできちゃいます。 JavaコードにSQLを記載したMapper 以下は、静的SQLを「アノテーション」に、動的SQLを「メソッド」に記載するしたMapperインタフェースになります。 package com.example.demo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.an

                                                                                    MyBatisのSQLをJavaコードに記載して動的SQLのカバレッジも測定しちゃおうよ!! - Qiita