世の中でデータベースというと、大きなサイトで膨大な量のデータを管理するものと思われがちだけど、実は「そんな仰々しいものでなくて良いから、手っ取り早く簡単にデータベースを使いたい」というニーズも意外に多い。そんなデータベースとしてお勧めなのがJavaで書かれたH2だ。 H2Database Engine お勧めの理由は下記の通り。 導入が簡単 1.2MB程度のjarファイル(最新版であるver.1.3.154の場合)を叩くだけで、あっという間に起動する。他のデータベースに比べて、導入に必要な手間が圧倒的に小さい。 %java -jar h2-1.3.154.jar ウェブ画面が標準装備 上記のコマンドを叩くと、下記のようなウェブページにアクセス出来るので、SQLを入力してテーブルやデータの編集が可能になる。特に開発時には有り難い機能だ。 ODBCドライバを利用可能 PostgreSQLの

はじめに 前回はDAOでクエリを実行しました。 今回は、クエリの実行手段を複数紹介します。 JPA自体はJavaとデータベースを繋ぐものでSpringの機能ではありませんが、基本として必要なので紹介します。 環境MacOSX 10.10.5 Yosemite Eclipse Mars2Java 8 Spring Boot 1.3.6 PostgreSQL 9.5.1 JPQLの手順 1.EntityManagerの用意 これを元にクエリを作成します。 アプリ実行時に1つだけBeanに登録されるので、基本は@PresistenceContextで接続します。 複数箇所で接続するとエラーになるので記述場所に注意が必要です。 @Autowiredでも可能ですが制限があるようです。 2.クエリ作成 以下3種類の方法を紹介します。 方法① JPQLで作成
![[Java][Spring Boot] JPQLのクエリの作成方法 | DevelopersIO](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2ff462eca999e0629c1eda58d64867dd4092abac90%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fdevio2023-media.developers.io%252Fwp-content%252Fuploads%252F2013%252F09%252Fspring.png&f=jpg&w=240)
ユーザ認証ができたので、これまでに作った掲示板を改良してみます。名前とコメントが入力できるようになっていますが、名前をCommentのフィールドにするのではなく、CommentとUserを関連付けます。 ユーザはコメントを複数書くことができるので、UserとCommentは1対多の関係となります。ユーザごとにコメント表示できるようにし、またコメントがどのユーザのものかを表示できるようにするため、双方向の関係を持つようにします。 このような関係(リレーション)を定義するにはEntityにアノテーションをつけます。 Entity まず、UserにCommentを格納するフィールドを追加します。Userが1でCommentが多と定義するには@OneToManyをつけます。 packagenet.teachingprogramming.mybootapp.entity; import lombo
Hibernate はJava で O/R マッピングを実現するためのツールです。O/R マッピングツールは、 オブジェクト指向とリレーショナルデータベースの溝を埋めることを目的としています。 現実世界に即したオブジェクト指向という考え方と、数学的なアプローチから正規化をベースとして、 検索や登録に最適化されたリレーショナルデータベース。この両者の溝は、Java プログラマに余計なソースコードを書かせてきました。 Hibernate を利用することで、Java プログラマの負担が飛躍的に軽減されるのです。 そのHibernateについて解説していきます。 Hibernate INDEX Hibernateの基本 1.1. Hibernate とは 1.2. Hibernate で何がどうなる? 1.3. 環境の準備 Hibernateを使ってみよう 2.1. Hibernate とは 2
Java EEアプリケーションにおけるデータベース操作を、よりシンプルで簡単にするためのデータ永続化機能が「JPA(Java PersistenceAPI)」だ。同APIのキホンを、書籍「わかりやすいJava」シリーズでおなじみの川場隆氏が解説する。Java EE 6や同7など最新のJava EEを使用したアプリケーション開発に初めて取り組む方にとって課題の1つとなるのは、Java EE特有のデータ永続化機構である「JPA(Java PersistenceAPI)」の習得であろう。入門者向けのJava解説書として定評のある「わかりやすいJava」シリーズで知られる川場隆氏(活水女子大学 教授)の解説により、JPAの基本を学んでいただきたい。 ※本記事は、日本オラクルが2015年4月に開催した「Java Day Tokyo 2015」における川場隆氏のセッション「やさしく理解するはじめ
定義 Plain OldJava Object (POJO) は、あるJavaオブジェクトがEJB(特にEJB 3より前のEJB)のように特殊なものではなく、ごく普通のJavaオブジェクトであることを強調した名称 POJOではないEJBとは? EJB (EnterpriseJavaBeans) EJBは、多階層(3階層)の分散オブジェクト指向に基づいたJavaのためのサーバコンポ-ネントモデル EJBオブジェクト例 O/Rマッピングを使用して顧客 (Customer) オブジェクトを永続化(DBに保存)するサービスクラス(セッションBean) public class CustomerService { @PersistenceContext private EntityManager entityManager; public void addCustomer(Customer cu

Temurin is trusted by millions, including these leading adopters: The Power of Eclipse TemurinOpenJDK Based: Eclipse Temurin offers high-performance, cross-platform, open sourceJava™ Runtimes binaries that are enterprise-ready andJava SE TCK certified and AQAvit verified for general use in theJava Ecosystem.Business Benefits Run your enterprise applications with confidence using Eclipse Temurin

はじめに 開発者のコンピュータには、将来的なビジネスルールの変更やアプリケーションの実行時環境の変化を予測する水晶玉は付いていません。しかし、JavaのリフレクションAPIを使用すれば、コンパイル時に判明している情報のみに基づいてアプリケーションの能力を制限する必要はなくなり、アプリケーションを実行時環境の変化に動的に対応させることができます。 初期設定ファイルやプロパティファイルを読み取るテクニックはよく知られていますが、リフレクションAPIを使い慣れている開発者はあまり多くありません。リフレクションを利用すると、コードの機能を実行時環境に合わせて大幅に拡張できます。つまり、ユーザー設定やサーバー設定、実行時変数などに基づいてプログラムの動作を変更することが可能です。本稿では、Java Authentication and Authorization Services(JAAS)のLog

システム開発の効率化をはかるためには、プログラム言語に対応したフレームワークの導入が不可欠です。 このフレームワークの中には、Spring bootと呼ばれる「フレームワークを使いやすくためのフレームワーク」が存在します。 今回は、そんなSpring bootでできること、Spring Frameworkとの違いなどを説明いたします。 目次 Spring bootとは、Java言語の環境化で使用できるWebアプリケーションの開発をサポートするフレームワークです。Spring Frameworkに搭載されているフレームワークの1つで、手軽な設定と少ないコード量でアプリケーションを作成するのに役立ちます。 Spring Frameworkとは Spring bootの紹介をする前に、まずはSpring Frameworkについて触れておきましょう。 Spring Frameworkとは、200

Springとは Spring Bootを紹介する前に、Spring Bootの基盤技術でもあるSpring Frameworkについて簡単に紹介します。Javaを以前から使っているならば、Springという言葉を聞いたことがある方も多いはずです。Strutsなどが全盛期の頃は、Springと言えば現在のSpring Frameworkを指していました。そのため、現在でもSpring Frameworkのことを単にSpringと呼ぶ方もいます。 Spring "Framework"と呼ばれてはいますが、開発者にとってはフレームワークというよりも、DI(依存性注入)やAOP(アスペクト指向プログラミング)といったスタイルを実現するためのライブラリに近い位置づけかと思います。 そのため、Spring Frameworkはどのようなフレームワークを選んでいても、よく一緒に使われてきました。 現

この連載では、Javaのデータベース・アクセスAPIである「JDBC」の機能を、サンプルコードを交えて解説していきます。また、J2EEにおけるJDBCの位置付けや、JDBCを利用するさまざまなテクノロジについても解説していく予定です。前提知識としては、Javaとリレーショナル・データベースに関するベーシックな知識があれば十分です。 今回は、JDBCの概要について簡単に触れた後、JDBCのアーキテクチャについて解説します。 JDBCとは? JDBCは、一言でいってしまうなら「リレーショナル・データベース(および、ほとんどすべての表形式のデータ)にアクセスするための、標準JavaAPI」です。JDBCは「JavaDatabase Connectivity」の省略だといわれています(が、実はJDBC仕様には明記されていません)。 企業内のクリティカルなデータは、多くの場合リレーショナル・デー

初めまして。菅野と申します。 去年10月に入社し、広告運用ツールを開発するチームに所属しています。 私は普段の開発ではPlayとTypeScriptを使用しています。 PlayやTypeScriptにはそれほど不満は感じていないのですが、その他のツールやライブラリについても気になっているものがいろいろとあります。 特にAkka HTTP 2.0とScala.jsが気になっていて、それらを試すためにToDoアプリのようなものを作ってみました。 今回はその過程を紹介したいと思います。 Akka HTTP Akka HTTPとはAkkaを使用したHTTPサーバライブラリです。 Akka Streamsを使って実装されているため、処理はリアクティブでback-pressureにも対応できるのが特徴です。 libraryDependencies += "com.typesafe.akka" %% "
ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ
Groovy(グルービー)は、Javaプラットフォーム上で動作する動的プログラミング言語である。 Groovy の処理系はオープンソースソフトウェアであり、James Strachan と Bob McWhirter らを中心に、オープンソース開発サイトであるコードハウス上で、2003年8月27日に開発が開始された(CVSへの最初のコミットがなされた)。その後、開発の主体はGuillaume Laforge と Jeremy Rayner らに移り開発が続けられている。2015年3月31日までは Pivotal がスポンサー企業となり、開発者をフルタイム雇用していたが、3月末をもって終了し、Apacheソフトウェア財団の管理に移行した[3]。 GroovyはJava仮想マシン (JVM) 上で動作する言語処理系および言語の名称であり、Javaとの直接的な連携を特徴とする。例えばGroov
タイトルを見て釣られクマーな皆さんこんにちは。 ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。 今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。 「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。 タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー 面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。Java 1.0 1996年1月23日Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。 かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU

java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 importjava.util.*; class User { final String name;
CPUのクロックアップに限界が訪れ、マルチコア化することで処理性能向上を目指す時代になりました。これからのプログラマには、マルチコアで処理性能が向上するプログラム=マルチスレッドで並列処理が可能なプログラムを書く能力が必要になります。今回は「関数型」でプログラムを書くことによって、いとも簡単に並列化ができることを実例を元に解説します。 関数型プログラミングと並列処理 「関数型でプログラムを書くことで簡単に並列化できる」と書きましたが、そもそもここで言う「関数」とは何なのでしょうか? 関数型プログラミングの特徴 関数型プログラミングの「関数」を理解するためには、数学における「関数」を想像するとわかりやすいでしょう。 例えば三角関数を用いた y=cos(x) という式を考えてみます。この式に入力値 x=0 を与えた場合、いつでも必ず結果は y=1 になります。x= π/3 の場合は y =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く